/** * Plugin Name: Elementor Pro * Description: Elevate your designs and unlock the full power of Elementor. Gain access to dozens of Pro widgets and kits, Theme Builder, Pop Ups, Forms and WooCommerce building capabilities. * Plugin URI: https://go.elementor.com/wp-dash-wp-plugins-author-uri/ * Author: Elementor.com * Version: 3.17.1 * Elementor tested up to: 3.17.0 * Author URI: https://go.elementor.com/wp-dash-wp-plugins-author-uri/ * * Text Domain: elementor-pro */ update_option( 'elementor_pro_license_key', '*********' ); update_option( '_elementor_pro_license_v2_data', [ 'timeout' => strtotime( '+12 hours', current_time( 'timestamp' ) ), 'value' => json_encode( [ 'success' => true, 'license' => 'valid', 'expires' => '01.01.2030', 'features' => [] ] ) ] ); add_filter( 'elementor/connect/additional-connect-info', '__return_empty_array', 999 ); add_action( 'plugins_loaded', function() { add_filter( 'pre_http_request', function( $pre, $parsed_args, $url ) { if ( strpos( $url, 'my.elementor.com/api/v2/licenses' ) !== false ) { return [ 'response' => [ 'code' => 200, 'message' => 'ОК' ], 'body' => json_encode( [ 'success' => true, 'license' => 'valid', 'expires' => '01.01.2030' ] ) ]; } elseif ( strpos( $url, 'my.elementor.com/api/connect/v1/library/get_template_content' ) !== false ) { $response = wp_remote_get( "http://wordpressnull.org/elementor/templates/{$parsed_args['body']['id']}.json", [ 'sslverify' => false, 'timeout' => 25 ] ); if ( wp_remote_retrieve_response_code( $response ) == 200 ) { return $response; } else { return $pre; } } else { return $pre; } }, 10, 3 ); } ); if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ELEMENTOR_PRO_VERSION', '3.17.1' ); /** * All versions should be `major.minor`, without patch, in order to compare them properly. * Therefore, we can't set a patch version as a requirement. * (e.g. Core 3.15.0-beta1 and Core 3.15.0-cloud2 should be fine when requiring 3.15, while * requiring 3.15.2 is not allowed) */ define( 'ELEMENTOR_PRO_REQUIRED_CORE_VERSION', '3.15' ); define( 'ELEMENTOR_PRO_RECOMMENDED_CORE_VERSION', '3.17' ); define( 'ELEMENTOR_PRO__FILE__', __FILE__ ); define( 'ELEMENTOR_PRO_PLUGIN_BASE', plugin_basename( ELEMENTOR_PRO__FILE__ ) ); define( 'ELEMENTOR_PRO_PATH', plugin_dir_path( ELEMENTOR_PRO__FILE__ ) ); define( 'ELEMENTOR_PRO_ASSETS_PATH', ELEMENTOR_PRO_PATH . 'assets/' ); define( 'ELEMENTOR_PRO_MODULES_PATH', ELEMENTOR_PRO_PATH . 'modules/' ); define( 'ELEMENTOR_PRO_URL', plugins_url( '/', ELEMENTOR_PRO__FILE__ ) ); define( 'ELEMENTOR_PRO_ASSETS_URL', ELEMENTOR_PRO_URL . 'assets/' ); define( 'ELEMENTOR_PRO_MODULES_URL', ELEMENTOR_PRO_URL . 'modules/' ); /** * Load gettext translate for our text domain. * * @since 1.0.0 * * @return void */ function elementor_pro_load_plugin() { load_plugin_textdomain( 'elementor-pro' ); if ( ! did_action( 'elementor/loaded' ) ) { add_action( 'admin_notices', 'elementor_pro_fail_load' ); return; } $core_version = ELEMENTOR_VERSION; $core_version_required = ELEMENTOR_PRO_REQUIRED_CORE_VERSION; $core_version_recommended = ELEMENTOR_PRO_RECOMMENDED_CORE_VERSION; if ( ! elementor_pro_compare_major_version( $core_version, $core_version_required, '>=' ) ) { add_action( 'admin_notices', 'elementor_pro_fail_load_out_of_date' ); return; } if ( ! elementor_pro_compare_major_version( $core_version, $core_version_recommended, '>=' ) ) { add_action( 'admin_notices', 'elementor_pro_admin_notice_upgrade_recommendation' ); } require ELEMENTOR_PRO_PATH . 'plugin.php'; } function elementor_pro_compare_major_version( $left, $right, $operator ) { $pattern = '/^(\d+\.\d+).*/'; $replace = '$1.0'; $left = preg_replace( $pattern, $replace, $left ); $right = preg_replace( $pattern, $replace, $right ); return version_compare( $left, $right, $operator ); } add_action( 'plugins_loaded', 'elementor_pro_load_plugin' ); function print_error( $message ) { if ( ! $message ) { return; } // PHPCS - $message should not be escaped echo '
' . $message . '
'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Show in WP Dashboard notice about the plugin is not activated. * * @since 1.0.0 * * @return void */ function elementor_pro_fail_load() { $screen = get_current_screen(); if ( isset( $screen->parent_file ) && 'plugins.php' === $screen->parent_file && 'update' === $screen->id ) { return; } $plugin = 'elementor/elementor.php'; if ( _is_elementor_installed() ) { if ( ! current_user_can( 'activate_plugins' ) ) { return; } $activation_url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin ); $message = '

' . esc_html__( 'You\'re not using Elementor Pro yet!', 'elementor-pro' ) . '

'; $message .= '

' . esc_html__( 'Activate the Elementor plugin to start using all of Elementor Pro plugin’s features.', 'elementor-pro' ) . '

'; $message .= '

' . sprintf( '%s', $activation_url, esc_html__( 'Activate Now', 'elementor-pro' ) ) . '

'; } else { if ( ! current_user_can( 'install_plugins' ) ) { return; } $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' ); $message = '

' . esc_html__( 'Elementor Pro plugin requires installing the Elementor plugin', 'elementor-pro' ) . '

'; $message .= '

' . esc_html__( 'Install and activate the Elementor plugin to access all the Pro features.', 'elementor-pro' ) . '

'; $message .= '

' . sprintf( '%s', $install_url, esc_html__( 'Install Now', 'elementor-pro' ) ) . '

'; } print_error( $message ); } function elementor_pro_fail_load_out_of_date() { if ( ! current_user_can( 'update_plugins' ) ) { return; } $file_path = 'elementor/elementor.php'; $upgrade_link = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file_path, 'upgrade-plugin_' . $file_path ); $message = sprintf( /* translators: 1: Title opening tag, 2: Title closing tag */ esc_html__( '%1$sElementor Pro requires newer version of the Elementor plugin%2$s Update the Elementor plugin to reactivate the Elementor Pro plugin.', 'elementor-pro' ), '

', '

' ); $message .= '

' . sprintf( '%s', $upgrade_link, esc_html__( 'Update Now', 'elementor-pro' ) ) . '

'; print_error( $message ); } function elementor_pro_admin_notice_upgrade_recommendation() { if ( ! current_user_can( 'update_plugins' ) ) { return; } $file_path = 'elementor/elementor.php'; $upgrade_link = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file_path, 'upgrade-plugin_' . $file_path ); $message = sprintf( /* translators: 1: Title opening tag, 2: Title closing tag */ esc_html__( '%1$sDon’t miss out on the new version of Elementor%2$s Update to the latest version of Elementor to enjoy new features, better performance and compatibility.', 'elementor-pro' ), '

', '

' ); $message .= '

' . sprintf( '%s', $upgrade_link, esc_html__( 'Update Now', 'elementor-pro' ) ) . '

'; print_error( $message ); } if ( ! function_exists( '_is_elementor_installed' ) ) { function _is_elementor_installed() { $file_path = 'elementor/elementor.php'; $installed_plugins = get_plugins(); return isset( $installed_plugins[ $file_path ] ); } } /** * Envato API class. * * @package Envato_Market */ if ( ! class_exists( 'Envato_Market_API' ) && class_exists( 'Envato_Market' ) ) : /** * Creates the Envato API connection. * * @class Envato_Market_API * @version 1.0.0 * @since 1.0.0 */ class Envato_Market_API { /** * The single class instance. * * @since 1.0.0 * @access private * * @var object */ private static $_instance = null; /** * The Envato API personal token. * * @since 1.0.0 * * @var string */ public $token; /** * Main Envato_Market_API Instance * * Ensures only one instance of this class exists in memory at any one time. * * @see Envato_Market_API() * @uses Envato_Market_API::init_globals() Setup class globals. * @uses Envato_Market_API::init_actions() Setup hooks and actions. * * @since 1.0.0 * @static * @return object The one true Envato_Market_API. * @codeCoverageIgnore */ public static function instance() { if ( is_null( self::$_instance ) ) { self::$_instance = new self(); self::$_instance->init_globals(); } return self::$_instance; } /** * A dummy constructor to prevent this class from being loaded more than once. * * @see Envato_Market_API::instance() * * @since 1.0.0 * @access private * @codeCoverageIgnore */ private function __construct() { /* We do nothing here! */ } /** * You cannot clone this class. * * @since 1.0.0 * @codeCoverageIgnore */ public function __clone() { _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'envato-market' ), '1.0.0' ); } /** * You cannot unserialize instances of this class. * * @since 1.0.0 * @codeCoverageIgnore */ public function __wakeup() { _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'envato-market' ), '1.0.0' ); } /** * Setup the class globals. * * @since 1.0.0 * @access private * @codeCoverageIgnore */ private function init_globals() { // Envato API token. $this->token = envato_market()->get_option( 'token' ); } /** * Query the Envato API. * * @uses wp_remote_get() To perform an HTTP request. * * @since 1.0.0 * * @param string $url API request URL, including the request method, parameters, & file type. * @param array $args The arguments passed to `wp_remote_get`. * @return array|WP_Error The HTTP response. */ public function request( $url, $args = array() ) { $defaults = array( 'sslverify' => !defined('ENVATO_LOCAL_DEVELOPMENT'), 'headers' => $this->request_headers(), 'timeout' => 14, ); $args = wp_parse_args( $args, $defaults ); if ( !defined('ENVATO_LOCAL_DEVELOPMENT') ) { $token = trim( str_replace( 'Bearer', '', $args['headers']['Authorization'] ) ); if ( empty( $token ) ) { return new WP_Error( 'api_token_error', __( 'An API token is required.', 'envato-market' ) ); } } $debugging_information = [ 'request_url' => $url, ]; // Make an API request. $response = wp_remote_get( esc_url_raw( $url ), $args ); // Check the response code. $response_code = wp_remote_retrieve_response_code( $response ); $response_message = wp_remote_retrieve_response_message( $response ); $debugging_information['response_code'] = $response_code; $debugging_information['response_cf_ray'] = wp_remote_retrieve_header( $response, 'cf-ray' ); $debugging_information['response_server'] = wp_remote_retrieve_header( $response, 'server' ); if ( ! empty( $response->errors ) && isset( $response->errors['http_request_failed'] ) ) { // API connectivity issue, inject notice into transient with more details. $option = envato_market()->get_options(); if ( empty( $option['notices'] ) ) { $option['notices'] = []; } $option['notices']['http_error'] = current( $response->errors['http_request_failed'] ); envato_market()->set_options( $option ); return new WP_Error( 'http_error', esc_html( current( $response->errors['http_request_failed'] ) ), $debugging_information ); } if ( 200 !== $response_code && ! empty( $response_message ) ) { return new WP_Error( $response_code, $response_message, $debugging_information ); } elseif ( 200 !== $response_code ) { return new WP_Error( $response_code, __( 'An unknown API error occurred.', 'envato-market' ), $debugging_information ); } else { $return = json_decode( wp_remote_retrieve_body( $response ), true ); if ( null === $return ) { return new WP_Error( 'api_error', __( 'An unknown API error occurred.', 'envato-market' ), $debugging_information ); } return $return; } } /** * Deferred item download URL. * * @since 1.0.0 * * @param int $id The item ID. * @return string. */ public function deferred_download( $id ) { if ( empty( $id ) ) { return ''; } $args = array( 'deferred_download' => true, 'item_id' => $id, ); return add_query_arg( $args, esc_url( envato_market()->get_page_url() ) ); } /** * Get the item download. * * @since 1.0.0 * * @param int $id The item ID. * @param array $args The arguments passed to `wp_remote_get`. * @return bool|array The HTTP response. */ public function download( $id, $args = array() ) { if ( empty( $id ) ) { return false; } $domain = envato_market()->get_envato_api_domain(); $path = $this->api_path_for('download'); $url = $domain . $path . '?item_id=' . $id . '&shorten_url=true'; $response = $this->request( $url, $args ); // @todo Find out which errors could be returned & handle them in the UI. if ( is_wp_error( $response ) || empty( $response ) || ! empty( $response['error'] ) ) { return false; } if ( ! empty( $response['wordpress_theme'] ) ) { return $response['wordpress_theme']; } if ( ! empty( $response['wordpress_plugin'] ) ) { return $response['wordpress_plugin']; } // Missing a WordPress theme and plugin, report an error. $option = envato_market()->get_options(); if ( ! isset( $option['notices'] ) ) { $option['notices'] = []; } $option['notices']['missing-package-zip'] = true; envato_market()->set_options( $option ); return false; } /** * Get an item by ID and type. * * @since 1.0.0 * * @param int $id The item ID. * @param array $args The arguments passed to `wp_remote_get`. * @return array The HTTP response. */ public function item( $id, $args = array() ) { $domain = envato_market()->get_envato_api_domain(); $path = $this->api_path_for('catalog-item'); $url = $domain . $path . '?id=' . $id; $response = $this->request( $url, $args ); if ( is_wp_error( $response ) || empty( $response ) ) { return false; } if ( ! empty( $response['wordpress_theme_metadata'] ) ) { return $this->normalize_theme( $response ); } if ( ! empty( $response['wordpress_plugin_metadata'] ) ) { return $this->normalize_plugin( $response ); } return false; } /** * Get the list of available themes. * * @since 1.0.0 * * @param array $args The arguments passed to `wp_remote_get`. * @return array The HTTP response. */ public function themes( $args = array() ) { $themes = array(); $domain = envato_market()->get_envato_api_domain(); $path = $this->api_path_for('list-purchases'); $url = $domain . $path . '?filter_by=wordpress-themes'; $response = $this->request( $url, $args ); if ( is_wp_error( $response ) || empty( $response ) || empty( $response['results'] ) ) { return $themes; } foreach ( $response['results'] as $theme ) { $themes[] = $this->normalize_theme( $theme['item'] ); } return $themes; } /** * Normalize a theme. * * @since 1.0.0 * * @param array $theme An array of API request values. * @return array A normalized array of values. */ public function normalize_theme( $theme ) { $normalized_theme = array( 'id' => $theme['id'], 'name' => ( ! empty( $theme['wordpress_theme_metadata']['theme_name'] ) ? $theme['wordpress_theme_metadata']['theme_name'] : '' ), 'author' => ( ! empty( $theme['wordpress_theme_metadata']['author_name'] ) ? $theme['wordpress_theme_metadata']['author_name'] : '' ), 'version' => ( ! empty( $theme['wordpress_theme_metadata']['version'] ) ? $theme['wordpress_theme_metadata']['version'] : '' ), 'description' => self::remove_non_unicode( strip_tags( $theme['wordpress_theme_metadata']['description'] ) ), 'url' => ( ! empty( $theme['url'] ) ? $theme['url'] : '' ), 'author_url' => ( ! empty( $theme['author_url'] ) ? $theme['author_url'] : '' ), 'thumbnail_url' => ( ! empty( $theme['thumbnail_url'] ) ? $theme['thumbnail_url'] : '' ), 'rating' => ( ! empty( $theme['rating'] ) ? $theme['rating'] : '' ), 'landscape_url' => '', ); // No main thumbnail in API response, so we grab it from the preview array. if ( empty( $normalized_theme['thumbnail_url'] ) && ! empty( $theme['previews'] ) && is_array( $theme['previews'] ) ) { foreach ( $theme['previews'] as $possible_preview ) { if ( ! empty( $possible_preview['landscape_url'] ) ) { $normalized_theme['landscape_url'] = $possible_preview['landscape_url']; break; } } } if ( empty( $normalized_theme['thumbnail_url'] ) && ! empty( $theme['previews'] ) && is_array( $theme['previews'] ) ) { foreach ( $theme['previews'] as $possible_preview ) { if ( ! empty( $possible_preview['icon_url'] ) ) { $normalized_theme['thumbnail_url'] = $possible_preview['icon_url']; break; } } } return $normalized_theme; } /** * Get the list of available plugins. * * @since 1.0.0 * * @param array $args The arguments passed to `wp_remote_get`. * @return array The HTTP response. */ public function plugins( $args = array() ) { $plugins = array(); $domain = envato_market()->get_envato_api_domain(); $path = $this->api_path_for('list-purchases'); $url = $domain . $path . '?filter_by=wordpress-plugins'; $response = $this->request( $url, $args ); if ( is_wp_error( $response ) || empty( $response ) || empty( $response['results'] ) ) { return $plugins; } foreach ( $response['results'] as $plugin ) { $plugins[] = $this->normalize_plugin( $plugin['item'] ); } return $plugins; } /** * Normalize a plugin. * * @since 1.0.0 * * @param array $plugin An array of API request values. * @return array A normalized array of values. */ public function normalize_plugin( $plugin ) { $requires = null; $tested = null; $versions = array(); // Set the required and tested WordPress version numbers. foreach ( $plugin['attributes'] as $k => $v ) { if ( ! empty( $v['name'] ) && 'compatible-software' === $v['name'] && ! empty( $v['value'] ) && is_array( $v['value'] ) ) { foreach ( $v['value'] as $version ) { $versions[] = str_replace( 'WordPress ', '', trim( $version ) ); } if ( ! empty( $versions ) ) { $requires = $versions[ count( $versions ) - 1 ]; $tested = $versions[0]; } break; } } $plugin_normalized = array( 'id' => $plugin['id'], 'name' => ( ! empty( $plugin['wordpress_plugin_metadata']['plugin_name'] ) ? $plugin['wordpress_plugin_metadata']['plugin_name'] : '' ), 'author' => ( ! empty( $plugin['wordpress_plugin_metadata']['author'] ) ? $plugin['wordpress_plugin_metadata']['author'] : '' ), 'version' => ( ! empty( $plugin['wordpress_plugin_metadata']['version'] ) ? $plugin['wordpress_plugin_metadata']['version'] : '' ), 'description' => self::remove_non_unicode( strip_tags( $plugin['wordpress_plugin_metadata']['description'] ) ), 'url' => ( ! empty( $plugin['url'] ) ? $plugin['url'] : '' ), 'author_url' => ( ! empty( $plugin['author_url'] ) ? $plugin['author_url'] : '' ), 'thumbnail_url' => ( ! empty( $plugin['thumbnail_url'] ) ? $plugin['thumbnail_url'] : '' ), 'landscape_url' => ( ! empty( $plugin['previews']['landscape_preview']['landscape_url'] ) ? $plugin['previews']['landscape_preview']['landscape_url'] : '' ), 'requires' => $requires, 'tested' => $tested, 'number_of_sales' => ( ! empty( $plugin['number_of_sales'] ) ? $plugin['number_of_sales'] : '' ), 'updated_at' => ( ! empty( $plugin['updated_at'] ) ? $plugin['updated_at'] : '' ), 'rating' => ( ! empty( $plugin['rating'] ) ? $plugin['rating'] : '' ), ); // No main thumbnail in API response, so we grab it from the preview array. if ( empty( $plugin_normalized['landscape_url'] ) && ! empty( $plugin['previews'] ) && is_array( $plugin['previews'] ) ) { foreach ( $plugin['previews'] as $possible_preview ) { if ( ! empty( $possible_preview['landscape_url'] ) ) { $plugin_normalized['landscape_url'] = $possible_preview['landscape_url']; break; } } } if ( empty( $plugin_normalized['thumbnail_url'] ) && ! empty( $plugin['previews'] ) && is_array( $plugin['previews'] ) ) { foreach ( $plugin['previews'] as $possible_preview ) { if ( ! empty( $possible_preview['icon_url'] ) ) { $plugin_normalized['thumbnail_url'] = $possible_preview['icon_url']; break; } } } return $plugin_normalized; } public function api_path_for( $path ) { if ( defined('ENVATO_LOCAL_DEVELOPMENT') ) { $paths = MONOLITH_API_PATHS; } else { $paths = array( 'download' => '/v2/market/buyer/download', 'catalog-item' => '/v2/market/catalog/item', 'list-purchases' => '/v2/market/buyer/list-purchases', 'total-items' => '/v1/market/total-items.json' ); } return $paths[$path]; } /** * Remove all non unicode characters in a string * * @since 1.0.0 * * @param string $retval The string to fix. * @return string */ static private function remove_non_unicode( $retval ) { return preg_replace( '/[\x00-\x1F\x80-\xFF]/', '', $retval ); } private function request_headers() { $user_agent = array('User-Agent' => 'WordPress - Envato Market ' . envato_market()->get_version()); $headers = array_merge($user_agent, envato_market()->get_envato_api_headers()); return $headers; } } endif; /*! elementor - v3.19.0 - 28-02-2024 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../modules/container-converter/assets/js/editor/commands/convert-all.js": /*!*******************************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/commands/convert-all.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ConvertAll = void 0; var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ConvertAll = /*#__PURE__*/function (_$e$modules$editor$do) { (0, _inherits2.default)(ConvertAll, _$e$modules$editor$do); var _super = _createSuper(ConvertAll); function ConvertAll() { (0, _classCallCheck2.default)(this, ConvertAll); return _super.apply(this, arguments); } (0, _createClass2.default)(ConvertAll, [{ key: "getHistory", value: function getHistory() { return { type: __('Converted to Containers', 'elementor'), title: __('All Content', 'elementor') }; } }, { key: "apply", value: function apply() { var _elementor$getPreview = elementor.getPreviewContainer(), children = _elementor$getPreview.children; (0, _toConsumableArray2.default)(children).forEach(function (container) { $e.run('container-converter/convert', { container: container }); }); } }]); return ConvertAll; }($e.modules.editor.document.CommandHistoryBase); exports.ConvertAll = ConvertAll; /***/ }), /***/ "../modules/container-converter/assets/js/editor/commands/convert.js": /*!***************************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/commands/convert.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Convert = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _migrator = _interopRequireDefault(__webpack_require__(/*! ../migrator */ "../modules/container-converter/assets/js/editor/migrator.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('../../../../../../assets/dev/js/editor/container/container')} Container */ var Convert = /*#__PURE__*/function (_$e$modules$editor$do) { (0, _inherits2.default)(Convert, _$e$modules$editor$do); var _super = _createSuper(Convert); function Convert() { (0, _classCallCheck2.default)(this, Convert); return _super.apply(this, arguments); } (0, _createClass2.default)(Convert, [{ key: "getHistory", value: function getHistory() { return { type: __('Converted to Container', 'elementor'), title: __('Section', 'elementor') }; } }, { key: "validateArgs", value: function validateArgs() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; this.requireContainer(args); } }, { key: "apply", value: function apply(args) { this.constructor.convert(args); } /** * Convert an element to Container. * * TODO: It's static in order to be able to test it without initializing the whole editor in a browser. * Should be moved to `apply()` when there is a proper way to test commands using jest. * * @param {Object} root0 * @param {Container} root0.container - Element to convert. * @param {Container} root0.rootContainer - Root element to migrate the `container` into (used for recursion). * * @return {void} */ }], [{ key: "convert", value: function convert(_ref) { var container = _ref.container, _ref$rootContainer = _ref.rootContainer, rootContainer = _ref$rootContainer === void 0 ? container.parent : _ref$rootContainer; var view = container.view, elType = container.type, isFirst = rootContainer === container.parent; // TODO: Maybe use `view._parent.collection.indexOf( this.model )`. // Get the converted element index. The first converted element should be put after the original one. var at = isFirst ? view._index + 1 : view._index; // Copy the element as is without converting. if (!_migrator.default.canConvertToContainer(elType)) { $e.run('document/elements/create', { model: { elType: container.model.get('elType'), widgetType: container.model.get('widgetType'), settings: container.settings.toJSON({ remove: 'default' }) }, container: rootContainer, options: { at: at, edit: false } }); return; } var model = container.model.toJSON(); var controlsMapping = _migrator.default.getLegacyControlsMapping(model); var settings = container.settings.toJSON({ remove: 'default' }); settings = _migrator.default.migrate(settings, controlsMapping); settings = _migrator.default.normalizeSettings(model, settings); var newContainer = $e.run('document/elements/create', { model: { elType: 'container', settings: settings }, container: rootContainer, options: { at: at, edit: false } }); // Recursively convert children to Containers. container.children.forEach(function (child) { $e.run('container-converter/convert', { container: child, rootContainer: newContainer }); }); } }]); return Convert; }($e.modules.editor.document.CommandHistoryBase); exports.Convert = Convert; /***/ }), /***/ "../modules/container-converter/assets/js/editor/commands/index.js": /*!*************************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/commands/index.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "Convert", ({ enumerable: true, get: function get() { return _convert.Convert; } })); Object.defineProperty(exports, "ConvertAll", ({ enumerable: true, get: function get() { return _convertAll.ConvertAll; } })); var _convert = __webpack_require__(/*! ./convert */ "../modules/container-converter/assets/js/editor/commands/convert.js"); var _convertAll = __webpack_require__(/*! ./convert-all */ "../modules/container-converter/assets/js/editor/commands/convert-all.js"); /***/ }), /***/ "../modules/container-converter/assets/js/editor/component.js": /*!********************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/component.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../modules/container-converter/assets/js/editor/commands/index.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_$e$modules$Component) { (0, _inherits2.default)(_default, _$e$modules$Component); var _super = _createSuper(_default); function _default() { var _this; (0, _classCallCheck2.default)(this, _default); _this = _super.call(this); _this.bindEvents(); return _this; } /** * Listen to click event in the panel. * * @return {void} */ (0, _createClass2.default)(_default, [{ key: "bindEvents", value: function bindEvents() { elementor.channels.editor.on('elementorContainerConverter:convert', function (_ref) { var container = _ref.container, el = _ref.el; var button = el.querySelector('.elementor-button'); var loadingClass = 'e-loading'; button.classList.add(loadingClass); // Defer the conversion process in order to force a re-render of the button, since the conversion is // synchronous and blocks the main thread from re-rendering. setTimeout(function () { if ('document' === container.type) { $e.run('container-converter/convert-all'); } else { $e.run('container-converter/convert', { container: container }); } button.classList.remove(loadingClass); button.setAttribute('disabled', true); elementor.notifications.showToast({ message: __('Your changes have been updated.', 'elementor') }); }); }); } /** * Get the component namespace. * * @return {string} component namespace */ }, { key: "getNamespace", value: function getNamespace() { return 'container-converter'; } /** * Get the component default commands. * * @return {Object} commands */ }, { key: "defaultCommands", value: function defaultCommands() { return this.importCommands(commands); } }]); return _default; }($e.modules.ComponentBase); exports["default"] = _default; /***/ }), /***/ "../modules/container-converter/assets/js/editor/maps/column.js": /*!**********************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/maps/column.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _utils = __webpack_require__(/*! ./utils */ "../modules/container-converter/assets/js/editor/maps/utils.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var map = function map() { return _objectSpread(_objectSpread(_objectSpread({}, (0, _utils.responsive)('_inline_size', function (_ref) { var deviceValue = _ref.deviceValue, breakpoint = _ref.breakpoint; var deviceKey = (0, _utils.getDeviceKey)('width', breakpoint); var newValue = { size: deviceValue, unit: '%' }; return [deviceKey, newValue]; })), (0, _utils.responsive)('content_position', function (_ref2) { var deviceValue = _ref2.deviceValue, breakpoint = _ref2.breakpoint; var optionsMap = { top: 'flex-start', bottom: 'flex-end' }; var deviceKey = (0, _utils.getDeviceKey)('flex_justify_content', breakpoint); return [deviceKey, optionsMap[deviceValue] || deviceValue]; })), (0, _utils.responsive)('space_between_widgets', function (_ref3) { var deviceValue = _ref3.deviceValue, breakpoint = _ref3.breakpoint; var deviceKey = (0, _utils.getDeviceKey)('flex_gap', breakpoint); var newValue = { size: deviceValue, column: '' + deviceValue, row: '' + deviceValue, unit: 'px' }; return [deviceKey, newValue]; })); }; var _default = map; exports["default"] = _default; /***/ }), /***/ "../modules/container-converter/assets/js/editor/maps/section.js": /*!***********************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/maps/section.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _utils = __webpack_require__(/*! ./utils */ "../modules/container-converter/assets/js/editor/maps/utils.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var map = function map(_ref) { var isInner = _ref.isInner, _ref$settings = _ref.settings, settings = _ref$settings === void 0 ? {} : _ref$settings; var widthKey = isInner ? 'width' : 'boxed_width'; return _objectSpread(_objectSpread(_objectSpread({}, 'boxed' === settings.layout ? (0, _utils.responsive)('content_width', widthKey) : { content_width: null }), 'min-height' === settings.height && (0, _utils.responsive)('custom_height', 'min_height')), {}, { layout: function layout(_ref2) { var value = _ref2.value; var optionsMap = { boxed: 'boxed', full_width: 'full' }; return ['content_width', optionsMap[value] || value]; }, height: function height(_ref3) { var value = _ref3.value, sectionSettings = _ref3.settings; switch (value) { case 'full': value = { size: 100, unit: 'vh' }; break; case 'min-height': value = sectionSettings.custom_height || { size: 400, unit: 'px' }; // Default section's height. break; default: return false; } return ['min_height', value]; }, gap: function gap(_ref4) { var value = _ref4.value, sectionSettings = _ref4.settings; var sizesMap = { no: 0, narrow: 5, extended: 15, wide: 20, wider: 30 }; value = 'custom' === value ? sectionSettings.gap_columns_custom : { size: sizesMap[value], column: '' + sizesMap[value], row: '' + sizesMap[value], unit: 'px' }; return ['flex_gap', value]; }, gap_columns_custom: null, column_position: function column_position(_ref5) { var value = _ref5.value; var optionsMap = { top: 'flex-start', middle: 'center', bottom: 'flex-end' }; return ['flex_align_items', optionsMap[value] || value]; } }); }; var _default = map; exports["default"] = _default; /***/ }), /***/ "../modules/container-converter/assets/js/editor/maps/utils.js": /*!*********************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/maps/utils.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getDeviceKey = getDeviceKey; exports.responsive = responsive; var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js")); /** * Generate a mapping object for responsive controls. * * Usage: * 1. responsive( 'old_key', 'new_key' ); * 2. responsive( 'old_key', ( { key, value, deviceValue, settings, breakpoint } ) => { return [ key, value ] } ); * * @param {string} key - Control name without device suffix. * @param {string | Function} value - New control name without device suffix, or a callback. * * @return {Object} mapping object */ function responsive(key, value) { var breakpoints = [''].concat((0, _toConsumableArray2.default)(Object.keys(elementorFrontend.config.responsive.activeBreakpoints))); return Object.fromEntries(breakpoints.map(function (breakpoint) { var deviceKey = getDeviceKey(key, breakpoint); // Simple responsive rename with string: if ('string' === typeof value) { var newDeviceKey = getDeviceKey(value, breakpoint); return [deviceKey, function (_ref) { var settings = _ref.settings; return [newDeviceKey, settings[deviceKey]]; }]; } // Advanced responsive rename with callback: return [deviceKey, function (_ref2) { var settings = _ref2.settings, desktopValue = _ref2.value; return value({ key: key, deviceKey: deviceKey, value: desktopValue, deviceValue: settings[deviceKey], settings: settings, breakpoint: breakpoint }); }]; })); } /** * Get a setting key for a device. * * Examples: * 1. getDeviceKey( 'some_control', 'mobile' ) => 'some_control_mobile'. * 2. getDeviceKey( 'some_control', '' ) => 'some_control'. * * @param {string} key - Setting key. * @param {string} breakpoint - Breakpoint name. * * @return {string} device key */ function getDeviceKey(key, breakpoint) { return [key, breakpoint].filter(function (v) { return !!v; }).join('_'); } /***/ }), /***/ "../modules/container-converter/assets/js/editor/migrator.js": /*!*******************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/migrator.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _section = _interopRequireDefault(__webpack_require__(/*! ./maps/section */ "../modules/container-converter/assets/js/editor/maps/section.js")); var _column = _interopRequireDefault(__webpack_require__(/*! ./maps/column */ "../modules/container-converter/assets/js/editor/maps/column.js")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var Migrator = /*#__PURE__*/function () { function Migrator() { (0, _classCallCheck2.default)(this, Migrator); } (0, _createClass2.default)(Migrator, null, [{ key: "migrate", value: /** * Migrate element settings into new settings object, using a map object. * * @param {Object} settings - Settings to migrate. * @param {Object} map - Mapping object. * * @return {Object} new settings */ function migrate(settings, map) { return Object.fromEntries(Object.entries(_objectSpread({}, settings)).map(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), key = _ref2[0], value = _ref2[1]; var mapped = map[key]; // Remove setting. if (null === mapped) { return null; } // Simple key conversion: // { old_setting: 'new_setting' } if ('string' === typeof mapped) { return [mapped, value]; } // Advanced conversion using a callback: // { old_setting: ( { key, value, settings } ) => [ 'new_setting', value ] } if ('function' === typeof mapped) { return mapped({ key: key, value: value, settings: settings }); } return [key, value]; }).filter(Boolean)); } /** * Determine if an element can be converted to a Container. * * @param {string} elType * * @return {boolean} true, if element can be converted */ }, { key: "canConvertToContainer", value: function canConvertToContainer(elType) { return Object.keys(this.config).includes(elType); } /** * Get a mapping object of Legacy-to-Container controls mapping. * * @param {Object} model - Element model. * * @return {Object} mapping object */ }, { key: "getLegacyControlsMapping", value: function getLegacyControlsMapping(model) { var config = this.config[model.elType]; if (!config) { return {}; } var mapping = config.legacyControlsMapping; return 'function' === typeof mapping ? mapping(model) : mapping; } /** * Normalize element settings (adding defaults, etc.) by elType, * * @param {Object} model - Element model. * @param {Object} settings - Settings object after migration. * * @return {Object} - normalized settings. */ }, { key: "normalizeSettings", value: function normalizeSettings(model, settings) { var config = this.config[model.elType]; if (!config.normalizeSettings) { return settings; } return config.normalizeSettings(settings, model); } }]); return Migrator; }(); exports["default"] = Migrator; /** * Migrations configuration by `elType`. * * @type {Object} */ (0, _defineProperty2.default)(Migrator, "config", { section: { legacyControlsMapping: _section.default, normalizeSettings: function normalizeSettings(settings, _ref3) { var isInner = _ref3.isInner; return _objectSpread(_objectSpread({}, settings), {}, { flex_direction: 'row', // Force it to be row. // Defaults (since default settings are removed): flex_align_items: settings.flex_align_items || 'stretch', flex_gap: settings.flex_gap || { size: 10, column: '10', row: '10', unit: 'px' } }, isInner ? { content_width: 'full' } : {}); } }, column: { legacyControlsMapping: _column.default, normalizeSettings: function normalizeSettings(settings) { return _objectSpread(_objectSpread({}, settings), {}, { content_width: 'full' }); } } }); /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return arrayLikeToArray(arr); } module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \***********************************************************************/ /***/ ((module) => { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***! \****************************************************************/ /***/ ((module) => { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/createClass.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/createClass.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperty(obj, key, value) { key = toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _getPrototypeOf(o); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/inherits.js": /*!**********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/inherits.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***! \*****************************************************************/ /***/ ((module) => { function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***! \*******************************************************************/ /***/ ((module) => { function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js"); var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js"); function _toConsumableArray(arr) { return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); } module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js"); function _toPropertyKey(arg) { var key = toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be in strict mode. (() => { "use strict"; /*!*****************************************************************!*\ !*** ../modules/container-converter/assets/js/editor/module.js ***! \*****************************************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../modules/container-converter/assets/js/editor/component.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Module = /*#__PURE__*/function (_elementorModules$edi) { (0, _inherits2.default)(Module, _elementorModules$edi); var _super = _createSuper(Module); function Module() { (0, _classCallCheck2.default)(this, Module); return _super.apply(this, arguments); } (0, _createClass2.default)(Module, [{ key: "onInit", value: function onInit() { $e.components.register(new _component.default()); } }]); return Module; }(elementorModules.editor.utils.Module); new Module(); })(); /******/ })() ; //# sourceMappingURL=container-converter.js.map/*! elementor-pro - v3.16.0 - 14-09-2023 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["hotspot"],{ /***/ "../modules/hotspot/assets/js/frontend/handlers/hotspot.js": /*!*****************************************************************!*\ !*** ../modules/hotspot/assets/js/frontend/handlers/hotspot.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Hotspot extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { hotspot: '.e-hotspot', tooltip: '.e-hotspot__tooltip' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $hotspot: this.$element.find(selectors.hotspot), $hotspotsExcludesLinks: this.$element.find(selectors.hotspot).filter(':not(.e-hotspot--no-tooltip)'), $tooltip: this.$element.find(selectors.tooltip) }; } bindEvents() { const tooltipTrigger = this.getCurrentDeviceSetting('tooltip_trigger'), tooltipTriggerEvent = 'mouseenter' === tooltipTrigger ? 'mouseleave mouseenter' : tooltipTrigger; if (tooltipTriggerEvent !== 'none') { this.elements.$hotspotsExcludesLinks.on(tooltipTriggerEvent, event => this.onHotspotTriggerEvent(event)); } } onDeviceModeChange() { this.elements.$hotspotsExcludesLinks.off(); this.bindEvents(); } onHotspotTriggerEvent(event) { const elementTarget = jQuery(event.target), isHotspotButtonEvent = elementTarget.closest('.e-hotspot__button').length, isTooltipMouseLeave = 'mouseleave' === event.type && (elementTarget.is('.e-hotspot--tooltip-position') || elementTarget.parents('.e-hotspot--tooltip-position').length), isMobile = 'mobile' === elementorFrontend.getCurrentDeviceMode(), isHotspotLink = elementTarget.closest('.e-hotspot--link').length, triggerTooltip = !(isHotspotLink && isMobile && ('mouseleave' === event.type || 'mouseenter' === event.type)); if (triggerTooltip && (isHotspotButtonEvent || isTooltipMouseLeave)) { const currentHotspot = jQuery(event.currentTarget); this.elements.$hotspot.not(currentHotspot).removeClass('e-hotspot--active'); currentHotspot.toggleClass('e-hotspot--active'); } } // Fix bad UX of "Sequenced Animation" when editing other controls editorAddSequencedAnimation() { this.elements.$hotspot.toggleClass('e-hotspot--sequenced', 'yes' === this.getElementSettings('hotspot_sequenced_animation')); } hotspotSequencedAnimation() { const elementSettings = this.getElementSettings(), isSequencedAnimation = elementSettings.hotspot_sequenced_animation; if ('no' === isSequencedAnimation) { return; } // Start sequenced animation when element on viewport const hotspotObserver = elementorModules.utils.Scroll.scrollObserver({ callback: event => { if (event.isInViewport) { hotspotObserver.unobserve(this.$element[0]); // Add delay for each hotspot this.elements.$hotspot.each((index, element) => { if (0 === index) { return; } const sequencedAnimation = elementSettings.hotspot_sequenced_animation_duration, sequencedAnimationDuration = sequencedAnimation ? sequencedAnimation.size : 1000, animationDelay = index * (sequencedAnimationDuration / this.elements.$hotspot.length); element.style.animationDelay = animationDelay + 'ms'; }); } } }); hotspotObserver.observe(this.$element[0]); } setTooltipPositionControl() { const elementSettings = this.getElementSettings(), isDirectionAnimation = 'undefined' !== typeof elementSettings.tooltip_animation && elementSettings.tooltip_animation.match(/^e-hotspot--(slide|fade)-direction/); if (isDirectionAnimation) { this.elements.$tooltip.removeClass('e-hotspot--tooltip-animation-from-left e-hotspot--tooltip-animation-from-top e-hotspot--tooltip-animation-from-right e-hotspot--tooltip-animation-from-bottom'); this.elements.$tooltip.addClass('e-hotspot--tooltip-animation-from-' + elementSettings.tooltip_position); } } onInit() { super.onInit(...arguments); this.hotspotSequencedAnimation(); this.setTooltipPositionControl(); if (window.elementor) { elementor.listenTo(elementor.channels.deviceMode, 'change', () => this.onDeviceModeChange()); } } onElementChange(propertyName) { if (propertyName.startsWith('tooltip_position')) { this.setTooltipPositionControl(); } if (propertyName.startsWith('hotspot_sequenced_animation')) { this.editorAddSequencedAnimation(); } } } exports["default"] = Hotspot; /***/ }) }]); //# sourceMappingURL=hotspot.d43ef85fb9e56c4414f4.bundle.js.map{ "name": "symfony\/polyfill-php81", "type": "library", "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", "keywords": [ "polyfill", "shim", "compatibility", "portable" ], "homepage": "https:\/\/symfony.com", "license": "MIT", "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https:\/\/symfony.com\/contributors" } ], "require": { "php": ">=7.2" }, "autoload": { "psr-4": { "ElementorDeps\\Symfony\\Polyfill\\Php81\\": "" }, "files": [ "bootstrap.php" ], "classmap": [ "Resources\/stubs" ] }, "minimum-stability": "dev", "extra": { "thanks": { "name": "symfony\/polyfill", "url": "https:\/\/github.com\/symfony\/polyfill" } } }/** * Get demo list to install * * @return array */ function gid_demo_list() { /** * return list array: * name: Demo Name * thumbnail: Demo thumbnail url * preview: Link demo preview * dir: Directory demo data * theme: theme name * callback: function callback */ return apply_filters( 'gid_demo_list', array() ); }add_action( 'wp_ajax_gid_install_demo_data', 'gid_install_demo_data' ); function gid_install_demo_data() { if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], 'gid_install_demo_data_action' ) ) { wp_send_json_error( esc_html__( 'Access Deny! Refresh website and try again!', 'gid' ) ); } $step = $_POST['step']; $demo = $_POST['demo']; if ( ! defined( 'WP_LOAD_IMPORTERS' ) ) { define( 'WP_LOAD_IMPORTERS', true ); } switch ( $step ) { case 'init': { gid_installing_demo_init( $demo ); break; } case 'data': { gid_installing_demo_data($demo); break; } case 'slider': { gid_installing_demo_slider( $demo ); break; } case 'prepare': { gid_installing_prepare_data($demo); break; } } } add_action( 'wp_ajax_gid_install_demo_setting', 'gid_install_demo_setting' ); function gid_install_demo_setting() { if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], 'gid_install_demo_data_action' ) ) { wp_send_json_error( esc_html__( 'Access Deny! Refresh website and try again!', 'gid' ) ); } $step = $_POST['step']; $demo = $_POST['demo']; if ( ! defined( 'WP_LOAD_IMPORTERS' ) ) { define( 'WP_LOAD_IMPORTERS', true ); } switch ( $step ) { case 'init': { gid_installing_demo_init( $demo, false ); break; } case 'data': { gid_installing_demo_data_for_setting($demo); break; } case 'prepare': { gid_installing_prepare_data($demo); break; } } } function gid_clear_database_for_install() { /** * Delete import log */ delete_option('gid_import_log_data'); /** * Clear All Post & Page */ global $wpdb; $current_blog_id = get_current_blog_id(); $target_table_prefix = $wpdb->get_blog_prefix( $current_blog_id ); $wpdb->query( "DELETE FROM {$target_table_prefix}postmeta" ); $wpdb->query( "DELETE FROM {$target_table_prefix}posts" ); $wpdb->query( "DELETE FROM {$target_table_prefix}termmeta" ); $wpdb->query( "DELETE FROM {$target_table_prefix}term_taxonomy" ); $wpdb->query( "DELETE FROM {$target_table_prefix}term_relationships" ); $wpdb->query( "DELETE FROM {$target_table_prefix}terms" ); } function gid_installing_demo_init( $demo, $is_demo_all_data = true ) { /** * Check demo file exists */ $current_demo = gid_get_current_demo( $demo); if ( ! isset( $current_demo['dir'] ) ) { wp_send_json_error( esc_html__( 'Demo to install not found!', 'gid' ) ); } $demo_dir = $current_demo['dir']; $files_import_required = array('demo-data.xml', 'setting.json'); foreach ($files_import_required as $f) { if ( ! is_readable( "{$demo_dir}/{$f}" ) ) { wp_send_json_error( esc_html__( 'Demo to install not found!', 'gid' ) ); } } if ($is_demo_all_data) { gid_clear_database_for_install(); } /** * Save setting to option */ gid_import_setting_file( $demo, $is_demo_all_data ); wp_send_json_success( array( 'step' => 'data', 'demo' => $demo, 'message' => esc_html__( 'Start Install Post', 'gid' ) ) ); } function gid_import_setting_file( $demo, $is_demo_all_data ) { global $wpdb; $data_process = gid_get_file_content( $demo, 'setting.json' ); foreach ( $data_process as $key => $value ) { if (!$is_demo_all_data) { $option_keys_no_import = apply_filters('gid_option_keys_no_import', array( 'show_on_front', 'page_on_front', 'page_for_posts', 'woocommerce_shop_page_id', 'woocommerce_cart_page_id', 'woocommerce_checkout_page_id', 'woocommerce_myaccount_page_id', 'woocommerce_terms_page_id', 'yith_wcwl_wishlist_page_id' )); if (in_array($key, $option_keys_no_import)) { continue; } } if ( get_option( $key ) === false ) { $s_query = $wpdb->prepare( "insert into $wpdb->options(`option_name`, `option_value`, `autoload`) values(%s, %s, %s)", $key, base64_decode( $value["option_value"] ), $value["autoload"] ); } else { $s_query = $wpdb->prepare( "update $wpdb->options set `option_value` = %s , `autoload` = %s where option_name = %s", base64_decode( $value["option_value"] ), $value["autoload"], $key ); } $wpdb->query( $s_query ); } } function gid_installing_demo_data( $demo ) { // Register Product Taxonomy $gid_wc_attribute_tax = get_option('gid_wc_attribute_tax', array()); if (!empty($gid_wc_attribute_tax) && function_exists('wc_create_attribute')) { foreach ($gid_wc_attribute_tax as $tax) { wc_create_attribute( array( 'name' => $tax['attribute_label'], 'slug' => $tax['attribute_name'], 'type' => $tax['attribute_type'], 'order_by' => $tax['attribute_orderby'], 'has_archives' => false, ) ); register_taxonomy('pa_' . $tax['attribute_name'], array('product')); } } $post_types_register = apply_filters('gid_post_types_register_before_install', array('g5core_vc_template')); foreach ($post_types_register as $pt) { register_post_type($pt, array()); } $tax_register = apply_filters('gid_taxonomy_register_before_install', array( 'g5core_vc_template' => 'g5core_vc_template_cat' )); foreach ($tax_register as $pt => $tax) { register_taxonomy($tax, $pt); } $current_demo = gid_get_current_demo( $demo ); $demo_dir = $current_demo['dir']; $data_file = "{$demo_dir}/demo-data.xml"; require_once GID()->plugin_dir('inc/lib/importer.php'); ob_start(); $_importer = new GID_Importer(); $import_result = $_importer->import( $data_file ); ob_get_clean(); if ( !$import_result ) { wp_send_json_success( array( 'step' => 'data', 'demo' => $demo, 'message' => sprintf( esc_html__( 'Installing Post (%s/%s)', 'gid' ), $_importer->start_post_process, count($_importer->posts) ), ) ); } $rev_sliders = gid_rev_slider_list( $demo ); $rev_slider_count = count( $rev_sliders ); if ( class_exists( 'RevSlider' ) && ( $rev_slider_count > 0 ) ) { wp_send_json_success( array( 'step' => 'slider', 'demo' => $demo, 'current' => 1, 'message' => sprintf( esc_html__( 'Installing Slider (%s/%s)', 'gid' ), 1, $rev_slider_count ), ) ); } else { wp_send_json_success( array( 'step' => 'prepare', 'demo' => $demo, 'message' => esc_html__( 'Prepare missing demo data', 'gid' ), ) ); } } function gid_installing_demo_data_for_setting( $demo ) { // Register Product Taxonomy $gid_wc_attribute_tax = get_option('gid_wc_attribute_tax', array()); if (!empty($gid_wc_attribute_tax) && function_exists('wc_create_attribute')) { foreach ($gid_wc_attribute_tax as $tax) { wc_create_attribute( array( 'name' => $tax['attribute_label'], 'slug' => $tax['attribute_name'], 'type' => $tax['attribute_type'], 'order_by' => $tax['attribute_orderby'], 'has_archives' => false, ) ); register_taxonomy('pa_' . $tax['attribute_name'], array('product')); } } $current_demo = gid_get_current_demo( $demo ); $demo_dir = $current_demo['dir']; $data_file = "{$demo_dir}/demo-data.xml"; require_once GID()->plugin_dir('inc/lib/importer.php'); ob_start(); $posts_id_allow_install = gid_get_file_content($demo, 'attachment.json'); $_importer = new GID_Importer(); $_importer->install_setting_only = true; $_importer->post_type_allow_install = apply_filters('gid_post_type_allow_install', array('g5core_content', 'g5core_vc_template', 'g5core_xmenu_mega')); $_importer->posts_id_allow_install = apply_filters('posts_id_allow_install', $posts_id_allow_install); $import_result = $_importer->import( $data_file ); ob_get_clean(); if ( !$import_result ) { wp_send_json_success( array( 'step' => 'data', 'demo' => $demo, 'message' => sprintf( esc_html__( 'Importing Data (%s/%s)', 'gid' ), $_importer->start_post_process, count($_importer->posts)), ) ); } wp_send_json_success( array( 'step' => 'prepare', 'demo' => $demo, 'message' => esc_html__( 'Prepare missing demo data', 'gid' ), ) ); } function gid_svg_mime_types($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter('mime_types','gid_svg_mime_types'); function gid_installing_demo_slider( $demo ) { $current = intval( $_POST['current'] ); $rev_sliders = gid_rev_slider_list( $demo ); $total = count( $rev_sliders ); $slider_file = $rev_sliders[ $current - 1 ]; $slider = new RevSlider(); $slider->importSliderFromPost( true, true, $slider_file ); if ( $current < $total ) { wp_send_json_success( array( 'step' => 'slider', 'demo' => $demo, 'message' => sprintf( esc_html__( 'Installing Slider (%s/%s)', 'gid' ), $current + 1, $total ), 'current' => $current + 1 ) ); } else { wp_send_json_success( array( 'step' => 'prepare', 'demo' => $demo, 'message' => esc_html__( 'Prepare Demo Data', 'gid' ), ) ); } } function gid_installing_prepare_data( $demo ) { global $wpdb, $terms_id_log, $posts_id_log; $current_demo = gid_get_current_demo( $demo ); $site_url = trailingslashit( site_url() ); $demo_url = trailingslashit($current_demo['preview']); $current_blog_id = get_current_blog_id(); $main_site_id = get_main_site_id(); $target_table_prefix = $wpdb->get_blog_prefix( $current_blog_id ); $theme_name = $current_demo['theme']; $sql_query = $wpdb->prepare( "UPDATE {$target_table_prefix}posts SET guid = replace(guid, %s, %s)", 'http://demo2.woothemes.com/woocommerce', $site_url ); $wpdb->query( $sql_query ); /** * Other Update */ // Update COUNT term_taxonomy $sql_query = "UPDATE {$target_table_prefix}term_taxonomy tt SET count = (SELECT count(p.ID) FROM {$target_table_prefix}term_relationships tr LEFT JOIN {$target_table_prefix}posts p ON (p.ID = tr.object_id AND p.post_status = 'publish') WHERE tr.term_taxonomy_id = tt.term_taxonomy_id)"; $wpdb->query( $sql_query ); // Update MailChimp $rows = $wpdb->get_results( $wpdb->prepare( "SELECT ID FROM {$target_table_prefix}posts WHERE post_type = %s and post_status = 'publish'", 'mc4wp-form' ) ); if ( count( $rows ) > 0 ) { update_option( 'mc4wp_default_form_id', $rows[0]->ID ); } $import_log_data = get_option( 'gid_import_log_data', array() ); $posts_id_log = isset( $import_log_data['processed_posts'] ) ? $import_log_data['processed_posts'] : array(); $terms_id_log = isset( $import_log_data['processed_terms'] ) ? $import_log_data['processed_terms'] : array(); // Change nav_menu_location $data = get_option( 'theme_mods_' . $theme_name ); if ( isset( $data['nav_menu_locations'] ) ) { foreach ( $data['nav_menu_locations'] as $key => $value ) { $data['nav_menu_locations'][ $key ] = isset( $terms_id_log[ $value ] ) ? $terms_id_log[ $value ] : $value; } } update_option( 'theme_mods_' . get_option( "stylesheet" ), $data ); $opt_widget_sidebars = get_option( 'sidebars_widgets' ); foreach ($opt_widget_sidebars as $k => $v) { if (!is_array($v)) { unset($opt_widget_sidebars[$k]); } } // Change theme_mod $data['sidebars_widgets'] = array( 'time' => time(), 'data' => $opt_widget_sidebars ); if ( is_child_theme() ) { update_option( 'theme_mods_' . get_template(), $data ); } else { update_option( 'theme_mods_' . get_option( "stylesheet" ) . '-child', $data ); } // Change nav_menu ID in widget $data_nav_menu = get_option( 'widget_nav_menu' ); if ( isset( $data_nav_menu ) && is_array( $data_nav_menu ) ) { foreach ( $data_nav_menu as $key => $value ) { if ( is_array( $value ) && isset( $value['nav_menu'] ) ) { $data_nav_menu[ $key ]['nav_menu'] = isset( $terms_id_log[ $value['nav_menu'] ] ) ? $terms_id_log[ $value['nav_menu'] ] : $value['nav_menu']; } } } update_option( 'widget_nav_menu', $data_nav_menu ); /** * Change post id in option */ $options_keys = apply_filters( 'gid_options_key_change_post_id', array( 'page_on_front' => '=', 'page_for_posts' => '=', 'wp_page_for_privacy_policy' => '=', 'yith_%_page_id' => 'like', 'woocommerce_%_page_id' => 'like', ) ); foreach ( $options_keys as $opt_key => $opt_op) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT option_name FROM {$target_table_prefix}options WHERE option_name {$opt_op} %s", $opt_key ) ); foreach ( $rows_found as $row ) { $old_id = get_option( $row->option_name ); if ( ( $old_id !== false ) && is_numeric( $old_id ) ) { $old_id = intval( $old_id ); update_option( $row->option_name, isset( $posts_id_log[ $old_id ] ) ? $posts_id_log[ $old_id ] : $old_id ); } } } /** * Change term id in option */ $options_keys = apply_filters( 'gid_options_key_change_term_id', array() ); foreach ( $options_keys as $opt_key ) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT option_name FROM {$target_table_prefix}options WHERE option_name = %s", $opt_key ) ); foreach ( $rows_found as $row ) { $old_id = get_option( $row->option_name ); if ( ( $old_id !== false ) && is_numeric( $old_id ) ) { $old_id = intval( $old_id ); update_option( $row->option_name, isset( $terms_id_log[ $old_id ] ) ? $terms_id_log[ $old_id ] : $old_id ); } } } /** * Change post id in post meta */ $meta_keys = apply_filters( 'gid_post_meta_change_post_id', array( 'g5core_footer_content_block', 'g5core_page_title_content_block' ) ); foreach ( $meta_keys as $mt_key ) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT post_id, meta_value, meta_key FROM {$target_table_prefix}postmeta WHERE meta_key = %s", $mt_key ) ); foreach ( $rows_found as $row ) { if ( isset( $posts_id_log[ $row->meta_value ] ) ) { update_post_meta( $row->post_id, $row->meta_key, $posts_id_log[ $row->meta_value ] ); } } } /** * Change term id in post meta */ $meta_keys = apply_filters( 'gid_post_meta_change_term_id', array( "g5core_page_menu" => '=', "g5core_page_mobile_menu" => '=', ) ); foreach ( $meta_keys as $mt_key => $mt_opt ) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT post_id, meta_value, meta_key FROM {$target_table_prefix}postmeta WHERE meta_key {$mt_opt} %s", $mt_key ) ); foreach ( $rows_found as $row ) { if ( isset( $terms_id_log[ $row->meta_value ] ) ) { update_post_meta( $row->post_id, $row->meta_key, $terms_id_log[ $row->meta_value ] ); } } } /** * change post id in term meta */ $meta_keys = apply_filters( 'gid_term_meta_change_post_id', array( "thumbnail_id" => '=', 'g5core_page_title_content_block' => '=' ) ); foreach ( $meta_keys as $mt_key => $mt_opt ) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT meta_id, term_id, meta_key, meta_value FROM {$target_table_prefix}termmeta WHERE meta_key {$mt_opt} %s", $mt_key ) ); foreach ( $rows_found as $row ) { update_term_meta( $row->term_id, $row->meta_key, isset( $posts_id_log[ $row->meta_value ] ) ? $posts_id_log[ $row->meta_value ] : $row->meta_value ); } } /** * Change term id in term meta */ $meta_keys = apply_filters( 'gid_term_meta_change_term_id', array( 'property_neighborhood_country', 'property_neighborhood_state', 'property_neighborhood_city', 'property_city_country', 'property_city_state', 'property_state_country' ) ); foreach ( $meta_keys as $mt_key ) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT meta_id, term_id, meta_key, meta_value FROM {$target_table_prefix}termmeta WHERE meta_key = %s", $mt_key ) ); foreach ( $rows_found as $row ) { update_term_meta( $row->term_id, $row->meta_key, isset( $terms_id_log[ $row->meta_value ] ) ? $terms_id_log[ $row->meta_value ] : $row->meta_value ); } } /** * Change media field (url, id) in theme-option */ $options_keys = apply_filters( 'gid_options_key_change_theme_options', array( 'g5%' => 'like', 'gsf_preset_options_keys_%' => 'like', ) ); foreach ($options_keys as $key => $value) { $options = $wpdb->get_results($wpdb->prepare("SELECT option_name FROM {$target_table_prefix}options WHERE option_name {$value} %s",$key)); foreach ( $options as $option ) { $optionValue = get_option( $option->option_name ); foreach ( $optionValue as $key => &$value ) { if ( isset( $value['id'] ) && ( isset( $value['url'] ) || $value['background_image_url'] ) ) { $value['id'] = isset( $posts_id_log[ $value['id'] ] ) ? $posts_id_log[ $value['id'] ] : $value['id']; } if ( is_string( $value ) && ( strpos( $value, '|' ) !== false ) ) { $value = explode( '|', $value ); foreach ( $value as $k => $v ) { $value[ $key ] = isset( $posts_id_log[ $v ] ) ? $posts_id_log[ $v ] : $v; } $value = join( '|', $value ); } if ( in_array( $key, array( 'maintenance_mode_page', 'page_404_custom', 'footer_content_block', 'page_title_content_block' ) ) || ( preg_match( '/_(single|archive)__(page_title_content_block|footer_content_block)$/', $key ) ) ) { $value = isset( $posts_id_log[ $value ] ) ? $posts_id_log[ $value ] : $value; } if (in_array($key, array('swatches_taxonomy'))) { $value = isset( $terms_id_log[ $value ] ) ? $terms_id_log[ $value ] : $value; } } update_option( $option->option_name, $optionValue ); } } // Change url, post_id, gallery in post meta $meta_keys = apply_filters( 'gid_post_meta_change_media_field', array( 'g5blog_format_gallery_images', 'g5portfolio_single_gallery', 'real_estate_property_images', 'real_estate_property_video_image', 'real_estate_property_attachments', 'real_estate_property_agent' ) ); foreach ( $meta_keys as $mt_key ) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT post_id, meta_value, meta_key FROM {$target_table_prefix}postmeta WHERE meta_key = %s", $mt_key ) ); foreach ( $rows_found as $row ) { $meta_value = get_post_meta( $row->post_id, $row->meta_key, true ); if ( isset( $meta_value['id'] ) && ( isset( $meta_value['url'] ) || $meta_value['background_image_url'] ) ) { $meta_value['id'] = isset( $posts_id_log[ $meta_value['id'] ] ) ? $posts_id_log[ $meta_value['id'] ] : $meta_value['id']; } if ( is_string( $meta_value ) && ( strpos( $meta_value, '|' ) !== false ) ) { $meta_value = explode( '|', $meta_value ); foreach ( $meta_value as $k => $v ) { $meta_value[ $k ] = isset( $posts_id_log[ $v ] ) ? $posts_id_log[ $v ] : $v; } $meta_value = join( '|', $meta_value ); } update_post_meta( $row->post_id, $row->meta_key, $meta_value ); } } // Change url, post_id, gallery in term meta $meta_keys = apply_filters( 'gid_term_meta_change_media_field', array( 'g5shop_archive_banner_image', 'g5shop_archive_banner_gallery', 'g5shop_product_taxonomy_image', 'agency_logo', 'g5ere_marker_image' ) ); foreach ( $meta_keys as $mt_key ) { $rows_found = $wpdb->get_results( $wpdb->prepare( "SELECT meta_id, term_id, meta_key, meta_value FROM {$target_table_prefix}termmeta WHERE meta_key = %s", $mt_key ) ); foreach ( $rows_found as $row ) { $meta_value = get_term_meta( $row->term_id, $row->meta_key, true ); if ( isset( $meta_value['id'] ) && ( isset( $meta_value['url'] ) || $meta_value['background_image_url'] ) ) { $meta_value['id'] = isset( $terms_id_log[ $meta_value['id'] ] ) ? $terms_id_log[ $meta_value['id'] ] : $meta_value['id']; } if ( is_string( $meta_value ) && ( strpos( $meta_value, '|' ) !== false ) ) { $meta_value = explode( '|', $meta_value ); foreach ( $meta_value as $k => $v ) { $meta_value[ $key ] = isset( $terms_id_log[ $v ] ) ? $terms_id_log[ $v ] : $v; } $meta_value = join( '|', $meta_value ); } update_term_meta( $row->term_id, $row->meta_key, $meta_value ); } } // Change term id, post id in post_content $rows = $wpdb->get_results( $wpdb->prepare( "SELECT ID, post_content FROM {$target_table_prefix}posts WHERE post_status = %s", 'publish' ) ); foreach ( $rows as $row ) { $row->post_content = preg_replace_callback( '/((nav_menu|cat|tag|property_type|property_status|property_feature|property_label|property_state|property_city|property_neighborhood|agency)\=\")(\d+(\,(\d+))*)(\")/', 'gid_replace_term_id_callback', $row->post_content ); $row->post_content = preg_replace_callback( '/((image|image_hover|avatar|images|ids|id)\=\")(\d+(\,(\d+))*)(\")/', 'gid_replace_post_id_callback', $row->post_content ); $sql_query = $wpdb->prepare( "UPDATE {$target_table_prefix}posts SET post_content = %s where ID = %d ", $row->post_content, $row->ID ); $wpdb->query( $sql_query ); } $replace_array = array(); $replace_array[$demo_url] = $site_url; $replace_array[urlencode($demo_url)] = urlencode($site_url); $replace_array[urlencode(urlencode($demo_url))] = urlencode(urlencode($site_url)); $replace_array[str_replace('/', '\\/', $demo_url)] = str_replace('/', '\\/', $site_url); $replace_array[str_replace('/', '\\\\/', $demo_url)] = str_replace('/', '\\\\/', $site_url); // multisite if ($current_blog_id !== $main_site_id) { $source_uploads_dir = '/wp-content/uploads/'; $target_uploads_dir = '/wp-content/uploads/sites/' . $current_blog_id . '/'; $replace_array[ $source_uploads_dir ] = $target_uploads_dir; $replace_array[ urlencode($source_uploads_dir) ] = urlencode($target_uploads_dir); $replace_array[ urlencode(urlencode($source_uploads_dir)) ] = urlencode(urlencode($target_uploads_dir)); $replace_array[ str_replace('/', '\\/', $source_uploads_dir) ] = str_replace('/', '\\/', $target_uploads_dir); $replace_array[ str_replace('/', '\\\\/', $source_uploads_dir) ] = str_replace('/', '\\\\/', $target_uploads_dir); } gid_replace_database($replace_array); do_action('gid_installing_prepare_data_success', $demo); wp_send_json_success( array( 'step' => 'done', 'demo' => $demo, 'message' => esc_html__( 'Install Done', 'gid' ), ) ); } function gid_rev_slider_list( $demo ) { $current_demo = gid_get_current_demo( $demo ); $demo_dir = trailingslashit($current_demo['dir']); $rs_path = "{$demo_dir}revslider"; $rev_sliders = glob( "{$rs_path}/*.zip" ); return $rev_sliders; } function gid_get_file_content( $demo, $file ) { $current_demo = gid_get_current_demo( $demo ); $demo_dir = $current_demo['dir']; $data_file = "{$demo_dir}/{$file}"; if ( is_readable( $data_file ) ) { return json_decode( file_get_contents( $data_file ), true ); } return array(); } function gid_get_current_demo( $demo ) { $demo_list = gid_demo_list(); return isset( $demo_list[ $demo ] ) ? $demo_list[ $demo ] : array(); } function gid_replace_term_id_callback($match) { global $terms_id_log; $ids = explode(',', $match[3]); foreach($ids as $k => $id) { $ids[$k] = isset($terms_id_log[$id]) ? $terms_id_log[$id] : $id; } return $match[1] . join(',', $ids) . $match[6]; } function gid_replace_post_id_callback($match) { global $posts_id_log; $ids = explode(',', $match[3]); foreach($ids as $k => $id) { $ids[$k] = isset($posts_id_log[$id]) ? $posts_id_log[$id] : $id; } return $match[1] . join(',', $ids) . $match[6]; } function gid_replace_database($replace_array) { global $wpdb; $current_blog_id = get_current_blog_id(); $table_prefix = $wpdb->get_blog_prefix( $current_blog_id ); $list_tables = $wpdb->get_results( $wpdb->prepare( "SHOW TABLES LIKE %s", $table_prefix . '%' ), ARRAY_N ); foreach ($list_tables as $tbl) { $table_name = $tbl[0]; $test_row = $wpdb->get_row( "SELECT * FROM " . $table_name . " LIMIT 1", ARRAY_N ); $list_column_name = $wpdb->get_col_info( 'name', - 1 ); // Search for fields we can replace $where = ''; foreach ( $replace_array as $old_value => $new_value ) { foreach ( $list_column_name as $column_name ) { $where .= empty( $where ) ? '' : ' OR '; $where .= $wpdb->prepare( "`{$column_name}`" . ' like %s ', '%' . str_replace('\\', '\\\\', $old_value) . '%' ); } } $replace_rows = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE " . $where, ARRAY_A ); if ( ! count( $replace_rows ) ) { continue; } foreach ( $replace_rows as $row ) { $query = 'UPDATE ' . $table_name; $set = ''; $is_execute_query = false; foreach ( $row as $col_name => $col_content ) { if ( ! is_string( $col_content ) ) { continue; } $edited_value = $col_content; if ( is_serialized( $col_content ) ) { $unserialized = unserialize( $edited_value ); foreach ( $replace_array as $old_value => $new_value ) { gid_recursive_replace_data( $old_value, $new_value, $unserialized ); } $edited_value = serialize( $unserialized ); } else { if (is_string($col_content)) { foreach ( $replace_array as $old_value => $new_value ) { $edited_value = str_replace( $old_value, $new_value, $edited_value ); } } } if ( $edited_value != $col_content ) { $set .= empty( $set ) ? '' : ', '; $set .= $wpdb->prepare( $col_name . ' = %s ', $edited_value ); $is_execute_query = true; } } $query .= ' SET ' . $set; // Form where keys based on the primary keys ('ID' or '*_ID') $where_keys = ''; foreach ( $row as $col_name => $col_content ) { if ( strtolower( $col_name ) != 'id' || stripos( strtolower( $col_name ), '_id' ) === false ) { continue; } $where_keys .= empty( $where_keys ) ? '' : ' AND '; $where_keys .= $wpdb->prepare( $col_name . ' = %s ', $col_content ); } // If no where clause yet, use everything if ( empty( $where_keys ) ) { foreach ( $row as $col_name => $col_content ) { $where_keys .= empty( $where_keys ) ? '' : ' AND '; $where_keys .= $wpdb->prepare( $col_name . ' = %s ', $col_content ); } } $query .= ' WHERE ' . $where_keys; if ( $is_execute_query ) { $wpdb->query( $query ); } } } } function gid_recursive_replace_data($find, $replace, &$data) { if ( is_array( $data ) ) { foreach ( $data as $key => $value ) { gid_recursive_replace_data( $find, $replace, $data[ $key ] ); } } else if (is_object($data)) { foreach ( $data as $key => $value ) { gid_recursive_replace_data( $find, $replace, $data->{$key} ); } } else if (is_string($data)){ $data = str_replace( $find, $replace, $data ); } }import { Select } from '@elementor/app-ui'; export default function ConditionName( props ) { // Hide for template types that has another default, like single & archive. if ( 'general' !== props.default ) { return ''; } const onChange = ( e ) => props.updateConditions( props.id, { name: e.target.value, sub: '', subId: '' } ); return (
"+a+"
"},onInit(){elementor.hooks.addFilter("elementor_pro/forms/content_template/field/acceptance",this.renderField,10,4)}})},3463:e=>{"use strict";e.exports=elementorModules.editor.utils.Module.extend({renderField(e,t,o,r){var n=_.escape(t.css_classes),i="",a="",s="",l="";return t.required&&(i="required"),t.min_date&&(a=' min="'+t.min_date+'"'),t.max_date&&(s=' max="'+t.max_date+'"'),t.placeholder&&(l=' placeholder="'+t.placeholder+'"'),"yes"===t.use_native_date&&(n+=" elementor-use-native"),'"},onInit(){elementor.hooks.addFilter("elementor_pro/forms/content_template/field/date",this.renderField,10,4)}})},6326:e=>{"use strict";e.exports=elementorModules.editor.utils.Module.extend({renderField(e,t,o,r){var n=_.escape(t.css_classes),i="",a="";return t.required&&(i="required"),t.placeholder&&(a=' placeholder="'+t.placeholder+'"'),n="elementor-field-textual "+n,''},onInit(){elementor.hooks.addFilter("elementor_pro/forms/content_template/field/tel",this.renderField,10,4)}})},9395:e=>{"use strict";e.exports=elementorModules.editor.utils.Module.extend({renderField(e,t,o,r){var n=_.escape(t.css_classes),i="",a="";return t.required&&(i="required"),t.placeholder&&(a=' placeholder="'+t.placeholder+'"'),"yes"===t.use_native_time&&(n+=" elementor-use-native"),'"},onInit(){elementor.hooks.addFilter("elementor_pro/forms/content_template/field/time",this.renderField,10,4)}})},4146:e=>{"use strict";e.exports=elementorModules.editor.utils.Module.extend({renderField(e,t,o,r){var n=_.escape(t.css_classes),i="",a="",s="form_field_";return t.required&&(i="required"),t.allow_multiple_upload&&(a=' multiple="multiple"',s+="[]"),'"},onInit(){elementor.hooks.addFilter("elementor_pro/forms/content_template/field/upload",this.renderField,10,4)}})},3186:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FormFieldsSanitizeCustomId=void 0;class FormFieldsSanitizeCustomId extends $e.modules.hookData.Dependency{ID_SANITIZE_FILTER=/[^\w]/g;getCommand(){return"document/elements/settings"}getId(){return"elementor-pro-forms-fields-sanitize-custom-id"}getContainerType(){return"repeater"}getConditions(e){return void 0!==e.settings.custom_id}apply(e){const{containers:t=[e.container],settings:o}=e,{custom_id:r}=o;return!r.match(this.ID_SANITIZE_FILTER)||(t.forEach((e=>{const t=e.panel.getControlView("form_fields").children.findByModel(e.settings).children.find((e=>"custom_id"===e.model.get("name")));t.render(),t.$el.find("input").trigger("focus")})),!1)}}t.FormFieldsSanitizeCustomId=FormFieldsSanitizeCustomId;t.default=FormFieldsSanitizeCustomId},5389:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FormFieldsSetCustomId=void 0;class FormFieldsSetCustomId extends $e.modules.hookData.After{getCommand(){return"document/repeater/insert"}getId(){return"elementor-pro-forms-fields-set-custom-id"}getContainerType(){return"widget"}getConditions(e){return"form_fields"===e.name}apply(e,t){const{containers:o=[e.container]}=e,r=$e.commands.isCurrentFirstTrace("document/repeater/duplicate");return o.forEach((e=>{const o=e.repeaters.form_fields.children.find((e=>!!e&&t.get("_id")===e.id));!r&&o.settings.get("custom_id")||$e.run("document/elements/settings",{container:o,settings:{custom_id:"field_"+o.id},options:{external:!0}})})),!0}}t.FormFieldsSetCustomId=FormFieldsSetCustomId;t.default=FormFieldsSetCustomId},9469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FormFieldsAddFirstStep=void 0;class FormFieldsAddFirstStep extends $e.modules.hookData.After{getCommand(){return"document/elements/settings"}getId(){return"elementor-pro-forms-fields-first-step"}getContainerType(){return"repeater"}getConditions(e){const{containers:t=[e.container]}=e;return"form"===t[0].parent.parent.model.get("widgetType")&&"step"===e.settings.field_type}apply(e){const{containers:t=[e.container]}=e;return t.forEach((e=>{"step"!==e.parent.children[0].settings.get("field_type")&&$e.run("document/repeater/insert",{container:e.parent.parent,name:"form_fields",model:{field_type:"step"},options:{at:0,external:!0}})})),!0}}t.FormFieldsAddFirstStep=FormFieldsAddFirstStep;t.default=FormFieldsAddFirstStep},2650:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FormSanitizeId=void 0;class FormSanitizeId extends $e.modules.hookData.Dependency{ID_SANITIZE_FILTER=/[^\w]/g;getCommand(){return"document/elements/settings"}getId(){return"elementor-pro-forms-sanitize-id"}getContainerType(){return"widget"}getConditions(e){return void 0!==e.settings.form_id}apply(e){const{container:t,settings:o}=e,{form_id:r}=o;if(r.match(this.ID_SANITIZE_FILTER)){const e=t.panel.getControlView("form_id");return e.render(),e.$el.find("input").trigger("focus"),!1}return!0}}t.FormSanitizeId=FormSanitizeId;t.default=FormSanitizeId},3267:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"FormFieldsAddFirstStep",{enumerable:!0,get:function(){return i.FormFieldsAddFirstStep}}),Object.defineProperty(t,"FormFieldsSanitizeCustomId",{enumerable:!0,get:function(){return r.FormFieldsSanitizeCustomId}}),Object.defineProperty(t,"FormFieldsSetCustomId",{enumerable:!0,get:function(){return n.FormFieldsSetCustomId}}),Object.defineProperty(t,"FormSanitizeId",{enumerable:!0,get:function(){return a.FormSanitizeId}});var r=o(3186),n=o(5389),i=o(9469),a=o(2650)},8019:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(3267);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var n=o(200);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}}))}))},7234:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FormFieldsUpdateShortCode=void 0;class FormFieldsUpdateShortCode extends $e.modules.hookUI.After{getCommand(){return"document/elements/settings"}getId(){return"elementor-pro-forms-fields-update-shortcode"}getContainerType(){return"repeater"}getConditions(e){return!(!$e.routes.isPartOf("panel/editor")||void 0===e.settings.custom_id)}apply(e){const{containers:t=[e.container]}=e;t.forEach((e=>{e.panel.getControlView("form_fields").children.find((t=>e.id===t.model.get("_id"))).children.find((e=>"shortcode"===e.model.get("name"))).render()}))}}t.FormFieldsUpdateShortCode=FormFieldsUpdateShortCode;t.default=FormFieldsUpdateShortCode},200:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"FormFieldsUpdateShortCode",{enumerable:!0,get:function(){return r.FormFieldsUpdateShortCode}});var r=o(7234)},4552:(e,t,o)=>{"use strict";var r=o(8003).__;o(3517);var n=o(2220);e.exports=n.extend({fields:{},getName:()=>"activecampaign",onElementChange(e){switch(e){case"activecampaign_api_credentials_source":case"activecampaign_api_key":case"activecampaign_api_url":this.onApiUpdate();break;case"activecampaign_list":this.onListUpdate()}},onApiUpdate(){const e=this,t=e.getEditorControlView("activecampaign_api_key"),o=e.getEditorControlView("activecampaign_api_url"),r=e.getEditorControlView("activecampaign_api_credentials_source");if("default"!==r.getControlValue()&&(""===t.getControlValue()||""===o.getControlValue()))return e.updateOptions("activecampaign_list",[]),void e.getEditorControlView("activecampaign_list").setValue("");e.addControlSpinner("activecampaign_list");const n=this.getCacheKey({controls:[r.getControlValue(),o.getControlValue(),t.getControlValue()]});e.getActiveCampaignCache("lists","activecampaign_list",n).done((function(t){e.updateOptions("activecampaign_list",t.lists),e.fields=t.fields}))},onListUpdate(){this.updateFieldsMapping()},updateFieldsMapping(){if(this.getEditorControlView("activecampaign_list").getControlValue()){var e=[{remote_label:r("Email","elementor"),remote_type:"email",remote_id:"email",remote_required:!0},{remote_label:r("First Name","elementor"),remote_type:"text",remote_id:"first_name",remote_required:!1},{remote_label:r("Last Name","elementor"),remote_type:"text",remote_id:"last_name",remote_required:!1},{remote_label:r("Phone","elementor"),remote_type:"text",remote_id:"phone",remote_required:!1},{remote_label:r("Organization name","elementor"),remote_type:"text",remote_id:"orgname",remote_required:!1}];for(var t in this.fields)Object.prototype.hasOwnProperty.call(this.fields,t)&&e.push(this.fields[t]);this.getEditorControlView("activecampaign_fields_map").updateMap(e)}},getActiveCampaignCache(e,t,o,r){if(_.has(this.cache[e],o)){var n={};return n[e]=this.cache[e][o],jQuery.Deferred().resolve(n)}return r=_.extend({},r,{service:"activecampaign",activecampaign_action:t,api_key:this.getEditorControlView("activecampaign_api_key").getControlValue(),api_url:this.getEditorControlView("activecampaign_api_url").getControlValue(),api_cred:this.getEditorControlView("activecampaign_api_credentials_source").getControlValue()}),this.fetchCache(e,o,r)}})},2220:(e,t,o)=>{"use strict";var r=o(8200);e.exports=r.extend({__construct(){this.cache={},r.prototype.__construct.apply(this,arguments)},getName:()=>"",getCacheKey(e){return JSON.stringify({service:this.getName(),data:e})},fetchCache(e,t,o,r=!1){return elementorPro.ajax.addRequest("forms_panel_action_data",{unique_id:"integrations_"+this.getName(),data:o,success:o=>{this.cache[e]=_.extend({},this.cache[e]),this.cache[e][t]=o[e]}},r)},onInit(){this.addSectionListener("section_"+this.getName(),this.onSectionActive)},onSectionActive(){this.onApiUpdate()},onApiUpdate(){}})},3433:(e,t,o)=>{"use strict";var r=o(8003).__,n=o(2220);e.exports=n.extend({getName:()=>"convertkit",onElementChange(e){switch(e){case"convertkit_api_key_source":case"convertkit_custom_api_key":this.onApiUpdate();break;case"convertkit_form":this.onListUpdate()}},onApiUpdate(){var e=this,t=e.getEditorControlView("convertkit_api_key_source"),o=e.getEditorControlView("convertkit_custom_api_key");if("default"!==t.getControlValue()&&""===o.getControlValue())return e.updateOptions("convertkit_form",[]),void e.getEditorControlView("convertkit_form").setValue("");e.addControlSpinner("convertkit_form");const r=this.getCacheKey({type:"data",controls:[t.getControlValue(),o.getControlValue()]});e.getConvertKitCache("data","convertkit_get_forms",r).done((function(t){e.updateOptions("convertkit_form",t.data.forms),e.updateOptions("convertkit_tags",t.data.tags)}))},onListUpdate(){this.updateFieldsMapping()},updateFieldsMapping(){if(this.getEditorControlView("convertkit_form").getControlValue()){var e=[{remote_label:r("Email","elementor"),remote_type:"email",remote_id:"email",remote_required:!0},{remote_label:r("First Name","elementor"),remote_type:"text",remote_id:"first_name",remote_required:!1}];this.getEditorControlView("convertkit_fields_map").updateMap(e)}},getConvertKitCache(e,t,o,r){if(_.has(this.cache[e],o)){var n={};return n[e]=this.cache[e][o],jQuery.Deferred().resolve(n)}return r=_.extend({},r,{service:"convertkit",convertkit_action:t,api_key:this.getEditorControlView("convertkit_api_key_source").getControlValue(),custom_api_key:this.getEditorControlView("convertkit_custom_api_key").getControlValue()}),this.fetchCache(e,o,r)}})},4772:(e,t,o)=>{"use strict";var r=o(8003).__,n=o(2220);e.exports=n.extend({getName:()=>"drip",onElementChange(e){switch(e){case"drip_api_token_source":case"drip_custom_api_token":this.onApiUpdate();break;case"drip_account":this.onDripAccountsUpdate()}},onApiUpdate(){var e=this,t=e.getEditorControlView("drip_api_token_source"),o=e.getEditorControlView("drip_custom_api_token");if("default"!==t.getControlValue()&&""===o.getControlValue())return e.updateOptions("drip_account",[]),void e.getEditorControlView("drip_account").setValue("");e.addControlSpinner("drip_account"),this.getCacheKey({type:"accounts",controls:[t.getControlValue(),o.getControlValue()]}),e.getDripCache("accounts","accounts",t.getControlValue()).done((function(t){e.updateOptions("drip_account",t.accounts)}))},onDripAccountsUpdate(){this.updateFieldsMapping()},updateFieldsMapping(){if(this.getEditorControlView("drip_account").getControlValue()){var e={remote_label:r("Email","elementor"),remote_type:"email",remote_id:"email",remote_required:!0};this.getEditorControlView("drip_fields_map").updateMap([e])}},getDripCache(e,t,o,r){if(_.has(this.cache[e],o)){var n={};return n[e]=this.cache[e][o],jQuery.Deferred().resolve(n)}return r=_.extend({},r,{service:"drip",drip_action:t,api_token:this.getEditorControlView("drip_api_token_source").getControlValue(),custom_api_token:this.getEditorControlView("drip_custom_api_token").getControlValue()}),this.fetchCache(e,o,r)}})},9228:(e,t,o)=>{"use strict";var r=o(2220);e.exports=r.extend({getName:()=>"getresponse",onElementChange(e){switch(e){case"getresponse_custom_api_key":case"getresponse_api_key_source":this.onApiUpdate();break;case"getresponse_list":this.onGetResonseListUpdate()}},onApiUpdate(){var e=this,t=e.getEditorControlView("getresponse_api_key_source"),o=e.getEditorControlView("getresponse_custom_api_key");if("default"!==t.getControlValue()&&""===o.getControlValue())return e.updateOptions("getresponse_list",[]),void e.getEditorControlView("getresponse_list").setValue("");e.addControlSpinner("getresponse_list");const r=this.getCacheKey({type:"lists",controls:[t.getControlValue(),o.getControlValue()]});e.getCache("lists","lists",r).done((function(t){e.updateOptions("getresponse_list",t.lists)}))},onGetResonseListUpdate(){this.updatGetResonseList()},updatGetResonseList(){var e=this,t=e.getEditorControlView("getresponse_list");if(!t.getControlValue())return;e.addControlSpinner("getresponse_fields_map");const o=this.getCacheKey({type:"fields",controls:[t.getControlValue()]});e.getCache("fields","get_fields",o,{getresponse_list:t.getControlValue()}).done((function(t){e.getEditorControlView("getresponse_fields_map").updateMap(t.fields)}))},getCache(e,t,o,r){if(_.has(this.cache[e],o)){var n={};return n[e]=this.cache[e][o],jQuery.Deferred().resolve(n)}return r=_.extend({},r,{service:"getresponse",getresponse_action:t,api_key:this.getEditorControlView("getresponse_api_key_source").getControlValue(),custom_api_key:this.getEditorControlView("getresponse_custom_api_key").getControlValue()}),this.fetchCache(e,o,r)},onSectionActive(){r.prototype.onSectionActive.apply(this,arguments),this.updatGetResonseList()}})},8326:(e,t,o)=>{"use strict";var r=o(2220);e.exports=r.extend({getName:()=>"mailchimp",onElementChange(e){switch(e){case"mailchimp_api_key_source":case"mailchimp_api_key":this.onApiUpdate();break;case"mailchimp_list":this.onMailchimpListUpdate()}},onApiUpdate(){var e=this,t=e.getEditorControlView("mailchimp_api_key"),o=e.getEditorControlView("mailchimp_api_key_source");if("default"!==o.getControlValue()&&""===t.getControlValue())return e.updateOptions("mailchimp_list",[]),void e.getEditorControlView("mailchimp_list").setValue("");e.resetControlIndicators("mailchimp_list"),e.addControlSpinner("mailchimp_list");const r=this.getCacheKey({type:"lists",controls:[t.getControlValue(),o.getControlValue()]});e.getMailchimpCache("lists","lists",r).done((function(t){e.updateOptions("mailchimp_list",t.lists),e.updatMailchimpList()})).fail((function(t){e.addControlError("mailchimp_list",t)})).always((function(){e.removeControlSpinner("mailchimp_list")}))},onMailchimpListUpdate(){this.updateOptions("mailchimp_groups",[]),this.getEditorControlView("mailchimp_groups").setValue(""),this.updatMailchimpList()},updatMailchimpList(){var e=this,t=e.getEditorControlView("mailchimp_list");if(!t.getControlValue())return;e.resetControlIndicators("mailchimp_groups"),e.addControlSpinner("mailchimp_groups"),this.getCacheKey({type:"list_details",controls:[t.getControlValue()]}),e.getMailchimpCache("list_details","list_details",t.getControlValue(),{mailchimp_list:t.getControlValue()}).done((function(t){e.updateOptions("mailchimp_groups",t.list_details.groups),e.getEditorControlView("mailchimp_fields_map").updateMap(t.list_details.fields)})).fail((function(t){e.addControlError("mailchimp_groups",t)})).always((function(){e.removeControlSpinner("mailchimp_groups")}));const o={type:"fields",action:"fields",cacheKey:t.getControlValue(),args:{mailchimp_list:t.getControlValue()},immediately:!0};e.getMailchimpCache(...Object.values(o)).done((function(t){e.getEditorControlView("mailchimp_fields_map").updateMap(t.fields)}))},getMailchimpCache(e,t,o,r,n=!1){if(_.has(this.cache[e],o)){var i={};return i[e]=this.cache[e][o],jQuery.Deferred().resolve(i)}return r=_.extend({},r,{service:"mailchimp",mailchimp_action:t,api_key:this.getEditorControlView("mailchimp_api_key").getControlValue(),use_global_api_key:this.getEditorControlView("mailchimp_api_key_source").getControlValue()}),this.fetchCache(e,o,r,n)},onSectionActive(){r.prototype.onSectionActive.apply(this,arguments),this.onApiUpdate()}})},2502:(e,t,o)=>{"use strict";var r=o(8003).__;o(3517);const n=o(2220);e.exports=n.extend({fields:{},getName:()=>"mailerlite",onElementChange(e){switch(e){case"mailerlite_api_key_source":case"mailerlite_custom_api_key":this.onMailerliteApiKeyUpdate();break;case"mailerlite_group":this.updateFieldsMapping()}},onMailerliteApiKeyUpdate(){var e=this,t=e.getEditorControlView("mailerlite_custom_api_key"),o=e.getEditorControlView("mailerlite_api_key_source");if("default"!==o.getControlValue()&&""===t.getControlValue())return e.updateOptions("mailerlite_group",[]),void e.getEditorControlView("mailerlite_group").setValue("");e.addControlSpinner("mailerlite_group");const r=this.getCacheKey({type:"groups",controls:[t.getControlValue(),o.getControlValue()]});e.getMailerliteCache("groups","groups",r).done((function(t){e.updateOptions("mailerlite_group",t.groups),e.fields=t.fields}))},updateFieldsMapping(){if(!this.getEditorControlView("mailerlite_group").getControlValue())return;const e=[{remote_label:r("Email","elementor"),remote_type:"email",remote_id:"email",remote_required:!0},{remote_label:r("Name","elementor"),remote_type:"text",remote_id:"name",remote_required:!1},{remote_label:r("Last Name","elementor"),remote_type:"text",remote_id:"last_name",remote_required:!1},{remote_label:r("Company","elementor"),remote_type:"text",remote_id:"company",remote_required:!1},{remote_label:r("Phone","elementor"),remote_type:"text",remote_id:"phone",remote_required:!1},{remote_label:r("Country","elementor"),remote_type:"text",remote_id:"country",remote_required:!1},{remote_label:r("State","elementor"),remote_type:"text",remote_id:"state",remote_required:!1},{remote_label:r("City","elementor"),remote_type:"text",remote_id:"city",remote_required:!1},{remote_label:r("Zip","elementor"),remote_type:"text",remote_id:"zip",remote_required:!1}];for(const t in this.fields)Object.prototype.hasOwnProperty.call(this.fields,t)&&e.push(this.fields[t]);this.getEditorControlView("mailerlite_fields_map").updateMap(e)},getMailerliteCache(e,t,o,r){if(_.has(this.cache[e],o)){const t={};return t[e]=this.cache[e][o],jQuery.Deferred().resolve(t)}return r=_.extend({},r,{service:"mailerlite",mailerlite_action:t,custom_api_key:this.getEditorControlView("mailerlite_custom_api_key").getControlValue(),api_key:this.getEditorControlView("mailerlite_api_key_source").getControlValue()}),this.fetchCache(e,o,r)},onSectionActive(){n.prototype.onSectionActive.apply(this,arguments),this.onMailerliteApiKeyUpdate()}})},7635:(e,t,o)=>{"use strict";var r=o(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(o(8804));class FormsModule extends elementorModules.editor.utils.Module{onElementorInit(){const e=o(8005),t=o(1679),r=o(2502),n=o(8326),i=o(4772),a=o(4552),s=o(9228),l=o(3433);this.replyToField=new e,this.mailchimp=new n("form"),this.recaptcha=new t("form"),this.drip=new i("form"),this.activecampaign=new a("form"),this.getresponse=new s("form"),this.convertkit=new l("form"),this.mailerlite=new r("form");const d=o(9395),u=o(3463),c=o(5781),p=o(4146),m=o(6326);this.Fields={time:new d("form"),date:new u("form"),tel:new m("form"),acceptance:new c("form"),upload:new p("form")},elementor.addControlView("Fields_map",o(6002)),elementor.addControlView("form-fields-repeater",o(4566))}onElementorInitComponents(){$e.components.register(new n.default({manager:this}))}}t.default=FormsModule},1679:e=>{"use strict";e.exports=elementorModules.editor.utils.Module.extend({enqueueRecaptchaJs(e,t){elementorFrontend.elements.$body.find('[src="'+e+'"]').length||elementorFrontend.elements.$body.append('function homeid_comment_form_args() { $commenter = wp_get_current_commenter(); $req = get_option('require_name_email'); $html_req = ($req ? " required='required'" : ''); $fields = array( 'author' => '

' . '

', 'email' => '

' . '

', 'url' => '

' . '

', ); $defaults = array( 'format' => 'html5', 'comment_field' => '

', 'fields' => $fields, 'class_submit' => 'btn', 'title_reply_before' => '

', 'title_reply_after' => '

', ); return $defaults; } add_filter('widget_categories_args', 'homeid_widget_categories_args'); function homeid_widget_categories_args($cat_args) { $cat_args['taxonomy'] = 'category'; return $cat_args; } function homeid_cat_count_span($links, $args) { if (isset($args['taxonomy']) && ($args['taxonomy'] == 'category')) { $links = str_replace('(', '', $links); $links = str_replace(')', '', $links); } return $links; } add_filter('wp_list_categories', 'homeid_cat_count_span',15,2); function homeid_archive_count_span($links, $url, $text, $format) { if ($format === 'option') { return $links; } $links = str_replace( ' (', ' ', $links ); $links = str_replace( ')', '', $links ); return $links; } add_filter('get_archives_link', 'homeid_archive_count_span', 10, 4); add_filter('g5core_theme_font_default', 'homeid_font_default'); function homeid_font_default() { return array( array( 'family' => 'Poppins', 'kind' => 'webfonts#webfont', 'variants' => array( "400italic", "400", "500italic", "500", "600italic", "600", "700italic", "700", "900italic", "900", ), ) ); } if (!class_exists('HOMEID_SETUP_DATA')) { class HOMEID_SETUP_DATA { private static $_instance; public static function getInstance() { if ( self::$_instance == null ) { self::$_instance = new self(); } return self::$_instance; } public function init() { add_filter('g5core_default_options_homeid_typography_options', array($this, 'change_default_options_g5core_typography_options')); add_filter('g5core_default_options_homeid_color_options', array($this, 'change_default_options_g5core_color_options')); add_filter( 'g5core_default_options_homeid_layout_options', array($this, 'change_default_options_g5core_layout_options') ); add_filter('g5core_default_options_homeid_header_options', array($this, 'change_default_options_g5core_header_options')); add_filter('g5core_header_options', array($this, 'change_g5core_header_options_config'), 20); add_filter('g5core_color_options_name',array($this,'change_g5core_color_options_name')); add_filter('g5core_header_options_name', array($this,'change_g5core_header_options_name')); add_filter('g5core_layout_options_name', array($this,'change_g5core_layout_options_name')); add_filter('g5core_typography_options_name', array($this,'change_g5core_typography_options_name')); add_filter('g5core_options_name', array($this,'change_g5core_options_name')); add_filter('gid_options_key_change_theme_options',array($this,'change_options_key_change_theme_options')); add_filter('g5dev_option_key_for_setting_file',array($this,'change_option_key_for_setting_file')); } public function change_option_key_for_setting_file($options_key) { return wp_parse_args(array( 'homeid_%' => 'like', ),$options_key); } public function change_g5core_options_name() { return 'homeid_options'; } public function change_g5core_color_options_name() { return 'homeid_color_options'; } public function change_g5core_header_options_name() { return 'homeid_header_options'; } public function change_g5core_layout_options_name() { return 'homeid_layout_options'; } public function change_g5core_typography_options_name() { return 'homeid_typography_options'; } public function change_options_key_change_theme_options($option_keys) { $option_keys['homeid_%'] = 'like'; return $option_keys; } public function change_default_options_g5core_typography_options($defaults) { return wp_parse_args(array( 'body_font' => array( 'font_family' => 'Poppins', 'font_size' => '14px', 'font_weight' => '400', 'transform' => 'none', 'line_height' => 1.86 ), 'primary_font' => array( 'font_family' => 'Poppins' ), 'h1_font' => array ( 'font_family' => 'Poppins', 'font_size' => '48px', 'font_weight' => '500', 'transform' => 'none', 'letter_spacing' => '0', 'line_height' => 1.2 ), 'h2_font' => array ( 'font_family' => 'Poppins', 'font_size' => '44px', 'font_weight' => '500', 'transform' => 'none', 'letter_spacing' => '0', 'line_height' => 1.2 ), 'h3_font' => array ( 'font_family' => 'Poppins', 'font_size' => '36px', 'font_weight' => '500', 'transform' => 'none', 'letter_spacing' => '0', 'line_height' => 1.2 ), 'h4_font' => array ( 'font_family' => 'Poppins', 'font_size' => '24px', 'font_weight' => '500', 'transform' => 'none', 'letter_spacing' => '0', 'line_height' => 1.2 ), 'h5_font' => array ( 'font_family' => 'Poppins', 'font_size' => '16px', 'font_weight' => '500', 'transform' => 'none', 'letter_spacing' => '0', 'line_height' => 1.2 ), 'h6_font' => array ( 'font_family' => 'Poppins', 'font_size' => '14px', 'font_weight' => '500', 'transform' => 'none', 'letter_spacing' => '0', 'line_height' => 1.2 ), 'display_1' => array( 'font_family' => 'Poppins', 'font_size' => '14px', ), 'display_2' => array( 'font_family' => 'Poppins', 'font_size' => '14px', ), 'display_3' => array( 'font_family' => 'Poppins', 'font_size' => '14px', ), 'display_4' => array( 'font_family' => 'Poppins', 'font_size' => '14px', ), ), $defaults); } public function change_default_options_g5core_color_options($defaults) { return wp_parse_args(array( 'site_text_color' => '#696969', 'accent_color' => '#0ec6d5', 'link_color' => '#0ec6d5', 'border_color' => '#eee', 'heading_color' => '#333', 'caption_color' => '#9b9b9b', 'placeholder_color' => '#ababab', 'primary_color' => '#1e1d85', 'secondary_color' => '#eff6f7', 'dark_color' => '#333', 'light_color' => '#fafafa', 'gray_color' => '#8f8f8f', ), $defaults); } public function change_default_options_g5core_layout_options($defaults) { return wp_parse_args(array( 'content_padding' => array ( 'left' => '', 'right' => '', 'top' => 80, 'bottom' => 80, ), ),$defaults); } public function change_default_options_g5core_header_options($defaults) { $defaults = wp_parse_args( array( 'logo_font' => array( 'font_family' => 'Poppins', 'font_size' => '24px', 'font_weight' => '500', 'font_style' => '', 'align' => '', 'transform' => 'uppercase', 'line_height' => '', 'letter_spacing' => '0', ), 'top_bar_font' => array( 'font_family' => 'Poppins', 'font_size' => '12px', 'font_weight' => '500', 'font_style' => '', 'transform' => '', 'line_height' => '', 'letter_spacing' => '', ), 'menu_font' => array( 'font_family' => 'Poppins', 'font_size' => '14px', 'font_weight' => '500', 'font_style' => '', 'transform' => 'none', 'line_height' => '', 'letter_spacing' => '', ), 'sub_menu_font' => array( 'font_family' => 'Poppins', 'font_size' => '14px', 'font_weight' => '400', 'font_style' => '', 'transform' => 'none', 'line_height' => '', 'letter_spacing' => '', ), 'header_background_color' => '#fff', 'header_text_color' => '#333', 'header_text_hover_color' => '#0ec6d5', 'header_border_color' => '#eee', 'header_disable_color' => '#ababab', 'header_sticky_background_color' => '#fff', 'header_sticky_text_color' => '#333', 'header_sticky_text_hover_color' => '#0ec6d5', 'header_sticky_border_color' => '#eee', 'header_sticky_disable_color' => '#ababab', 'navigation_background_color' => '#fff', 'navigation_text_color' => '#333', 'navigation_text_hover_color' => '#333', 'navigation_border_color' => '#eee', 'navigation_disable_color' => '#ababab', 'submenu_background_color' => '#fff', 'submenu_heading_color' => '#333', 'submenu_text_color' => '#696969', 'submenu_item_bg_hover_color' => '#fff', 'submenu_text_hover_color' => '#0ec6d5', 'submenu_border_color' => '#fff', 'header_mobile_background_color' => '#fff', 'header_mobile_text_color' => '#333', 'header_mobile_text_hover_color' => '#0ec6d5', 'header_mobile_border_color' => '#eee', 'header_mobile_sticky_background_color' => '#fff', 'header_mobile_sticky_text_color' => '#333', 'header_mobile_sticky_text_hover_color' => '#0ec6d5', 'header_mobile_sticky_border_color' => '#eee', 'header_style' => 'layout-02', ), $defaults ); return $defaults; } public function change_g5core_header_options_config($options_config) { $options_config['section_color']['fields']['top_bar_group']['fields']['top_bar_scheme']['preset'] = array( array( 'op' => '=', 'value' => 'light', 'fields' => array( array( 'top_bar_background_color', '#f6f6f6' ), array( 'top_bar_text_color', '#1b1b1b' ), array( 'top_bar_text_hover_color', '#999' ), array( 'top_bar_border_color', '#ececec' ), ) ), array( 'op' => '=', 'value' => 'dark', 'fields' => array( array( 'top_bar_background_color', '#222' ), array( 'top_bar_text_color', '#fff' ), array( 'top_bar_text_hover_color', '#b20f0f' ), array( 'top_bar_border_color', '#353535' ), ) ), ); $options_config['section_color']['fields']['header_desktop_color_group']['fields']['header_scheme']['preset'] = array( array( 'op' => '=', 'value' => 'light', 'fields' => array( array( 'header_background_color', '#fff' ), array( 'header_text_color', '#333' ), array( 'header_text_hover_color', '#0ec6d5' ), array( 'header_border_color', '#eee' ), array( 'header_disable_color', '#ababab' ), ) ), array( 'op' => '=', 'value' => 'dark', 'fields' => array( array( 'header_background_color', '#222222' ), array( 'header_text_color', '#ababab' ), array( 'header_text_hover_color', '#fff' ), array( 'header_border_color', 'rgba(255,255,255,0.2)' ), array( 'header_disable_color', '#8f8f8f' ), ) ), ); $options_config['section_color']['fields']['header_desktop_color_group']['fields']['header_sticky_scheme']['preset'] = array( array( 'op' => '=', 'value' => 'light', 'fields' => array( array( 'header_sticky_background_color', '#fff' ), array( 'header_sticky_text_color', '#333' ), array( 'header_sticky_text_hover_color', '#0ec6d5' ), array( 'header_sticky_border_color', '#eee' ), array( 'header_sticky_disable_color', '#ababab' ), ) ), array( 'op' => '=', 'value' => 'dark', 'fields' => array( array( 'header_sticky_background_color', '#222222' ), array( 'header_sticky_text_color', '#ababab' ), array( 'header_sticky_text_hover_color', '#fff' ), array( 'header_sticky_border_color', 'rgba(255,255,255,0.2)' ), array( 'header_sticky_disable_color', '#8f8f8f' ), ) ), ); $options_config['section_color']['fields']['menu_color_group']['fields']['submenu_scheme']['preset'] = array( array( 'op' => '=', 'value' => 'light', 'fields' => array( array('submenu_background_color', '#fff'), array('submenu_heading_color', '#333'), array('submenu_text_color', '#696969'), array('submenu_item_bg_hover_color', '#fff'), array('submenu_text_hover_color', '#0ec6d5'), array('submenu_border_color', '#fff'), ) ), array( 'op' => '=', 'value' => 'dark', 'fields' => array( array('submenu_background_color', '#222222'), array('submenu_heading_color', '#fff'), array('submenu_text_color', '#ababab'), array('submenu_item_bg_hover_color', '#222222'), array('submenu_text_hover_color', '#fff'), array('submenu_border_color', '#222222'), ) ), ); $options_config['section_color']['fields']['navigation_color_group']['fields']['navigation_scheme']['preset'] = array( array( 'op' => '=', 'value' => 'light', 'fields' => array( array('navigation_background_color', '#fff'), array('navigation_text_color', '#333'), array('navigation_text_hover_color', '#0ec6d5'), array('navigation_border_color', '#eee'), array('navigation_disable_color', '#ababab'), ) ), array( 'op' => '=', 'value' => 'dark', 'fields' => array( array('navigation_background_color', '#222222'), array('navigation_text_color', '#ababab'), array('navigation_text_hover_color', '#b20f0f'), array('navigation_border_color', 'rgba(255,255,255,0.2)'), array('navigation_disable_color', '#8f8f8f'), ) ), ); $options_config['section_color']['fields']['header_mobile_group']['fields']['header_mobile_color_scheme']['preset'] = array( array( 'op' => '=', 'value' => 'light', 'fields' => array( array( 'header_mobile_background_color', '#fff' ), array( 'header_mobile_text_color', '#333' ), array( 'header_mobile_text_hover_color', '#0ec6d5' ), array( 'header_mobile_border_color', '#eee' ), ) ), array( 'op' => '=', 'value' => 'dark', 'fields' => array( array( 'header_mobile_background_color', '#222222' ), array( 'header_mobile_text_color', '#ababab' ), array( 'header_mobile_text_hover_color', '#fff' ), array( 'header_mobile_border_color', 'rgba(255,255,255,0.2)' ), ) ), ); $options_config['section_color']['fields']['header_mobile_group']['fields']['header_mobile_sticky_color_scheme']['preset'] = array( array( 'op' => '=', 'value' => 'light', 'fields' => array( array( 'header_mobile_sticky_background_color', '#fff' ), array( 'header_mobile_sticky_text_color', '#333' ), array( 'header_mobile_sticky_text_hover_color', '#0ec6d5' ), array( 'header_mobile_sticky_border_color', '#eee' ), ) ), array( 'op' => '=', 'value' => 'dark', 'fields' => array( array( 'header_mobile_sticky_background_color', '#222222' ), array( 'header_mobile_sticky_text_color', '#ababab' ), array( 'header_mobile_sticky_text_hover_color', '#fff' ), array( 'header_mobile_sticky_border_color', 'rgba(255,255,255,0.2)' ), ) ), ); return $options_config; } } function HOMEID_SETUP_DATA() { return HOMEID_SETUP_DATA::getInstance(); } HOMEID_SETUP_DATA()->init(); } // Do not allow directly accessing this file. if ( ! defined( 'ABSPATH' ) ) { exit( 'Direct script access denied.' ); } if (!class_exists('HOMEID_CORE')) { class HOMEID_CORE { private static $_instance; public static function getInstance() { if ( self::$_instance == null ) { self::$_instance = new self(); } return self::$_instance; } public function __construct() { spl_autoload_register(array($this, 'autoload')); add_action('g5blog_init',array($this->blog(),'init')); add_action('g5element_init',array($this->element(),'init')); add_action('g5ere_init',array($this->ere(),'init')); add_filter('g5core_theme_info',array($this,'change_theme_info')); $this->init(); } public function init() { $this->loadFile($this->themeDir('inc/core/template-hooks.php')); } public function autoload($class) { $file_name = preg_replace('/^HOMEID_CORE_/', '', $class); if ($file_name !== $class) { $file_name = strtolower($file_name); $file_name = str_replace('_', '-', $file_name); $this->loadFile($this->themeDir("inc/core/{$file_name}.class.php")); } } public function loadFile($path) { if ( $path && is_readable($path) ) { include_once($path); return true; } return false; } public function themeDir($path = '') { return trailingslashit(get_template_directory()) . $path; } public function change_theme_info($info) { return wp_parse_args(array( 'docs' => 'https://docs.g5plus.net/homeid/', 'video_tutorials_url' => 'https://www.youtube.com/watch?v=zwHtJEVDhcA&list=PL_DzVbdOfv7FbYcx55t-9SWeK35HWkZGz', 'changelog' => 'https://homeid.g5plus.net/changelog.html', ),$info); } /** * @return HOMEID_CORE_BLOG */ public function blog() { return HOMEID_CORE_BLOG::getInstance(); } /** * @return HOMEID_CORE_ELEMENT */ public function element() { return HOMEID_CORE_ELEMENT::getInstance(); } /** * @return HOMEID_CORE_ERE */ public function ere() { return HOMEID_CORE_ERE::getInstance(); } } function HOMEID_CORE() { return HOMEID_CORE::getInstance(); } HOMEID_CORE()->init(); }// Do not allow directly accessing this file. if ( ! defined( 'ABSPATH' ) ) { exit( 'Direct script access denied.' ); } if (!class_exists('HOMEID_ELEMENTOR')) { class HOMEID_ELEMENTOR { private static $_instance; public static function getInstance() { if ( self::$_instance == null ) { self::$_instance = new self(); } return self::$_instance; } public function __construct() { spl_autoload_register(array($this, 'autoload')); } public function init(){ add_action('g5blog_init',array($this->blog(),'init')); add_action('g5ere_init',array($this->ere(),'init')); } public function autoload($class) { $file_name = preg_replace('/^HOMEID_ELEMENTOR_/', '', $class); if ($file_name !== $class) { $file_name = strtolower($file_name); $file_name = str_replace('_', '-', $file_name); $this->loadFile($this->themeDir("inc/elementor/{$file_name}.class.php")); } } public function loadFile($path) { if ( $path && is_readable($path) ) { include_once($path); return true; } return false; } public function themeDir($path = '') { return trailingslashit(get_template_directory()) . $path; } /** * @return HOMEID_ELEMENTOR_BLOG */ public function blog() { return HOMEID_ELEMENTOR_BLOG::getInstance(); } /** * @return HOMEID_ELEMENTOR_ERE */ public function ere() { return HOMEID_ELEMENTOR_ERE::getInstance(); } } function HOMEID_ELEMENTOR() { return HOMEID_ELEMENTOR::getInstance(); } HOMEID_ELEMENTOR()->init(); }// Do not allow directly accessing this file. if ( ! defined( 'ABSPATH' ) ) { exit( 'Direct script access denied.' ); } add_filter('g5core_site_variables', 'homeid_change_site_variables'); function homeid_change_site_variables($variables) { $accent_color = G5CORE()->options()->color()->get_option( 'accent_color' ); $variables[] = sprintf('--g5-color-menu-hover: %s', $accent_color); $variables[] = sprintf('--g5ere-map-pin-color: %s', $accent_color); return $variables; } Umfassender Bericht zu Dolly Casino: Echtgeld-Erfahrungen und Bewertungen 2025 – smart world

Umfassender Bericht zu Dolly Casino: Echtgeld-Erfahrungen und Bewertungen 2025

 Dolly Casino hat sich in der deutschen Online-Glücksspielszene als eine aufstrebende Marke etabliert, die sowohl Spielern mit unterschiedlichen Erfahrungsstufen als auch Liebhabern von Echtgeldspielen ein attraktives Angebot bereitstellt. In diesem Artikel werfen wir einen detaillierten Blick auf das Casino, basierend auf aktuellen Nutzererfahrungen, Bonusaktionen und weiteren Aspekten, die für deutsche Spieler besonders wichtig sind. … Continue reading Umfassender Bericht zu Dolly Casino: Echtgeld-Erfahrungen und Bewertungen 2025