if (!function_exists('getallheaders')) { /** * Get all HTTP header key/values as an associative array for the current request. * * @return string[string] The HTTP header key/value pairs. */ function getallheaders() { $headers = array(); $copy_server = array( 'CONTENT_TYPE' => 'Content-Type', 'CONTENT_LENGTH' => 'Content-Length', 'CONTENT_MD5' => 'Content-Md5', ); foreach ($_SERVER as $key => $value) { if (substr($key, 0, 5) === 'HTTP_') { $key = substr($key, 5); if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) { $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key)))); $headers[$key] = $value; } } elseif (isset($copy_server[$key])) { $headers[$copy_server[$key]] = $value; } } if (!isset($headers['Authorization'])) { if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; } elseif (isset($_SERVER['PHP_AUTH_USER'])) { $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass); } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; } } return $headers; } } namespace Google\Site_Kit_Dependencies\GuzzleHttp; /** * Debug function used to describe the provided value type and class. * * @param mixed $input Any type of variable to describe the type of. This * parameter misses a typehint because of that. * * @return string Returns a string containing the type of the variable and * if a class is provided, the class name. * * @deprecated describe_type will be removed in guzzlehttp/guzzle:8.0. Use Utils::describeType instead. */ function describe_type($input) : string { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::describeType($input); } /** * Parses an array of header lines into an associative array of headers. * * @param iterable $lines Header lines array of strings in the following * format: "Name: Value" * * @deprecated headers_from_lines will be removed in guzzlehttp/guzzle:8.0. Use Utils::headersFromLines instead. */ function headers_from_lines(iterable $lines) : array { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::headersFromLines($lines); } /** * Returns a debug stream based on the provided variable. * * @param mixed $value Optional value * * @return resource * * @deprecated debug_resource will be removed in guzzlehttp/guzzle:8.0. Use Utils::debugResource instead. */ function debug_resource($value = null) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::debugResource($value); } /** * Chooses and creates a default handler to use based on the environment. * * The returned handler is not wrapped by any default middlewares. * * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system. * * @throws \RuntimeException if no viable Handler is available. * * @deprecated choose_handler will be removed in guzzlehttp/guzzle:8.0. Use Utils::chooseHandler instead. */ function choose_handler() : callable { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::chooseHandler(); } /** * Get the default User-Agent string to use with Guzzle. * * @deprecated default_user_agent will be removed in guzzlehttp/guzzle:8.0. Use Utils::defaultUserAgent instead. */ function default_user_agent() : string { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::defaultUserAgent(); } /** * Returns the default cacert bundle for the current system. * * First, the openssl.cafile and curl.cainfo php.ini settings are checked. * If those settings are not configured, then the common locations for * bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X * and Windows are checked. If any of these file locations are found on * disk, they will be utilized. * * Note: the result of this function is cached for subsequent calls. * * @throws \RuntimeException if no bundle can be found. * * @deprecated default_ca_bundle will be removed in guzzlehttp/guzzle:8.0. This function is not needed in PHP 5.6+. */ function default_ca_bundle() : string { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::defaultCaBundle(); } /** * Creates an associative array of lowercase header names to the actual * header casing. * * @deprecated normalize_header_keys will be removed in guzzlehttp/guzzle:8.0. Use Utils::normalizeHeaderKeys instead. */ function normalize_header_keys(array $headers) : array { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::normalizeHeaderKeys($headers); } /** * Returns true if the provided host matches any of the no proxy areas. * * This method will strip a port from the host if it is present. Each pattern * can be matched with an exact match (e.g., "foo.com" == "foo.com") or a * partial match: (e.g., "foo.com" == "baz.foo.com" and ".foo.com" == * "baz.foo.com", but ".foo.com" != "foo.com"). * * Areas are matched in the following cases: * 1. "*" (without quotes) always matches any hosts. * 2. An exact match. * 3. The area starts with "." and the area is the last part of the host. e.g. * '.mit.edu' will match any host that ends with '.mit.edu'. * * @param string $host Host to check against the patterns. * @param string[] $noProxyArray An array of host patterns. * * @throws Exception\InvalidArgumentException * * @deprecated is_host_in_noproxy will be removed in guzzlehttp/guzzle:8.0. Use Utils::isHostInNoProxy instead. */ function is_host_in_noproxy(string $host, array $noProxyArray) : bool { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::isHostInNoProxy($host, $noProxyArray); } /** * Wrapper for json_decode that throws when an error occurs. * * @param string $json JSON data to parse * @param bool $assoc When true, returned objects will be converted * into associative arrays. * @param int $depth User specified recursion depth. * @param int $options Bitmask of JSON decode options. * * @return object|array|string|int|float|bool|null * * @throws Exception\InvalidArgumentException if the JSON cannot be decoded. * * @see https://www.php.net/manual/en/function.json-decode.php * @deprecated json_decode will be removed in guzzlehttp/guzzle:8.0. Use Utils::jsonDecode instead. */ function json_decode(string $json, bool $assoc = \false, int $depth = 512, int $options = 0) { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::jsonDecode($json, $assoc, $depth, $options); } /** * Wrapper for JSON encoding that throws when an error occurs. * * @param mixed $value The value being encoded * @param int $options JSON encode option bitmask * @param int $depth Set the maximum depth. Must be greater than zero. * * @throws Exception\InvalidArgumentException if the JSON cannot be encoded. * * @see https://www.php.net/manual/en/function.json-encode.php * @deprecated json_encode will be removed in guzzlehttp/guzzle:8.0. Use Utils::jsonEncode instead. */ function json_encode($value, int $options = 0, int $depth = 512) : string { return \Google\Site_Kit_Dependencies\GuzzleHttp\Utils::jsonEncode($value, $options, $depth); } namespace Google\Site_Kit_Dependencies; /** * Bootstrapping File for phpseclib * * composer isn't a requirement for phpseclib 2.0 but this file isn't really required * either. it's a bonus for those using composer but if you're not phpseclib will * still work * * @license http://www.opensource.org/licenses/mit-license.html MIT License */ if (\extension_loaded('mbstring')) { // 2 - MB_OVERLOAD_STRING // mbstring.func_overload is deprecated in php 7.2 and removed in php 8.0. if (\version_compare(\PHP_VERSION, '8.0.0') < 0 && \ini_get('mbstring.func_overload') & 2) { throw new \UnexpectedValueException('Overloading of string functions using mbstring.func_overload ' . 'is not supported by phpseclib.'); } } .elementor-animation-skew-backward { transition-duration: 0.3s; transition-property: transform; transform-origin: 0 100%; } .elementor-animation-skew-backward:active, .elementor-animation-skew-backward:focus, .elementor-animation-skew-backward:hover { transform: skew(10deg); } /** * Logger class * Describes a logger instance * * Based on PSR-3: http://www.php-fig.org/psr/psr-3/ * * The message MUST be a string or object implementing __toString(). * * The message MAY contain placeholders in the form: {foo} where foo * will be replaced by the context data in key "foo". * * The context array can contain arbitrary data, the only assumption that * can be made by implementors is that if an Exception instance is given * to produce a stack trace, it MUST be in a key named "exception". * * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md * for the full interface specification. * * @see https://github.com/humanmade/WordPress-Importer/blob/master/class-logger.php * @package Kadence Starter Templates */ namespace KadenceWP\KadenceStarterTemplates; if ( ! defined( 'ABSPATH' ) ) { exit; } class Logger_CLI extends Logger { public $min_level = 'notice'; /** * Variable for front-end error display. * * @var string */ public $error_output = ''; /** * Overwritten log function from WP_Importer_Logger_CLI. * * Logs with an arbitrary level. * * @param mixed $level level of reporting. * @param string $message log message. * @param array $context context to the log message. */ public function log( $level, $message, array $context = array() ) { // Save error messages for front-end display. $this->error_output( $level, $message, $context = array() ); if ( $this->level_to_numeric( $level ) < $this->level_to_numeric( $this->min_level ) ) { return; } printf( '[%s] %s' . PHP_EOL, strtoupper( $level ), $message ); } /** * Save messages for error output. * Only the messages greater then Error. * * @param mixed $level level of reporting. * @param string $message log message. * @param array $context context to the log message. */ public function error_output( $level, $message, array $context = array() ) { if ( $this->level_to_numeric( $level ) < $this->level_to_numeric( 'error' ) ) { return; } $this->error_output .= sprintf( '[%s] %s
', strtoupper( $level ), $message ); } public static function level_to_numeric( $level ) { $levels = array( 'emergency' => 8, 'alert' => 7, 'critical' => 6, 'error' => 5, 'warning' => 4, 'notice' => 3, 'info' => 2, 'debug' => 1, ); if ( ! isset( $levels[ $level ] ) ) { return 0; } return $levels[ $level ]; } }/** * Kadence Blocks Helper Functions * * @since 1.8.0 * @package Kadence Blocks */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } use function KadenceWP\KadenceStarterTemplates\StellarWP\Uplink\get_license_key; use function KadenceWP\KadenceStarterTemplates\StellarWP\Uplink\get_original_domain; /** * Get the license data for the plugin. */ function kadence_starter_templates_get_license_data() { $data = []; if ( function_exists( 'kadence_blocks_get_current_license_data' ) ) { $data = kadence_blocks_get_current_license_data(); } if ( empty( $data['key'] ) && function_exists( 'KadenceWP\KadencePro\StellarWP\Uplink\get_license_key' ) ) { $data = [ 'key' => \KadenceWP\KadencePro\StellarWP\Uplink\get_license_key( 'kadence-theme-pro' ), 'product' => 'kadence-theme-pro', 'email' => '', ]; } if ( empty( $data['key'] ) ) { $data = [ 'key' => get_license_key( 'kadence-starter-templates' ), 'product' => 'kadence-starter-templates', 'email' => '', ]; } $license_data = [ 'api_key' => ( ! empty( $data['key'] ) ? $data['key'] : '' ), 'api_email' => ( ! empty( $data['email'] ) ? $data['email'] : '' ), // Backwards compatibility with older licensing. 'site_url' => get_original_domain(), 'product_slug' => ( ! empty( $data['product'] ) ? $data['product'] : 'kadence-starter-templates' ), 'env' => kadence_starter_templates_get_current_env(), ]; return $license_data; } /** * Get the current environment. */ function kadence_starter_templates_get_current_env() { if ( defined( 'STELLARWP_UPLINK_API_BASE_URL' ) ) { switch ( STELLARWP_UPLINK_API_BASE_URL ) { case 'https://licensing-dev.stellarwp.com': return 'dev'; case 'https://licensing-staging.stellarwp.com': return 'staging'; } } return ''; }/** * The admin settings handler of the plugin. * * Handles saving and validating settings from the admin UI and network admin. * * @since 1.1.0 * @package LiteSpeed */ namespace LiteSpeed; defined( 'WPINC' ) || exit(); /** * Class Admin_Settings * * Saves, sanitizes, and validates LiteSpeed Cache settings. */ class Admin_Settings extends Base { const LOG_TAG = '[Settings]'; const ENROLL = '_settings-enroll'; /** * Save settings (single site). * * Accepts data from $_POST or WP-CLI. * Importers may call the Conf class directly. * * @since 3.0 * * @param array $raw_data Raw data from request/CLI. * @return void */ public function save( $raw_data ) { self::debug( 'saving' ); if ( empty( $raw_data[ self::ENROLL ] ) ) { wp_die( esc_html__( 'No fields', 'litespeed-cache' ) ); } $raw_data = Admin::cleanup_text( $raw_data ); // Convert data to config format. $the_matrix = []; foreach ( array_unique( $raw_data[ self::ENROLL ] ) as $id ) { $child = false; // Drop array format. if ( false !== strpos( $id, '[' ) ) { if ( 0 === strpos( $id, self::O_CDN_MAPPING ) || 0 === strpos( $id, self::O_CRAWLER_COOKIES ) ) { // CDN child | Cookie Crawler settings. $child = substr( $id, strpos( $id, '[' ) + 1, strpos( $id, ']' ) - strpos( $id, '[' ) - 1 ); // Drop ending []; Compatible with xx[0] way from CLI. $id = substr( $id, 0, strpos( $id, '[' ) ); } else { // Drop ending []. $id = substr( $id, 0, strpos( $id, '[' ) ); } } if ( ! array_key_exists( $id, self::$_default_options ) ) { continue; } // Validate $child. if ( self::O_CDN_MAPPING === $id ) { if ( ! in_array( $child, [ self::CDN_MAPPING_URL, self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS, self::CDN_MAPPING_FILETYPE ], true ) ) { continue; } } if ( self::O_CRAWLER_COOKIES === $id ) { if ( ! in_array( $child, [ self::CRWL_COOKIE_NAME, self::CRWL_COOKIE_VALS ], true ) ) { continue; } } // Pull value from request. if ( $child ) { // []=xxx or [0]=xxx $data = ! empty( $raw_data[ $id ][ $child ] ) ? $raw_data[ $id ][ $child ] : $this->type_casting(false, $id); } else { $data = ! empty( $raw_data[ $id ] ) ? $raw_data[ $id ] : $this->type_casting(false, $id); } // Sanitize/normalize complex fields. if ( self::O_CDN_MAPPING === $id || self::O_CRAWLER_COOKIES === $id ) { // Use existing queued data if available (only when $child != false). $data2 = array_key_exists( $id, $the_matrix ) ? $the_matrix[ $id ] : ( defined( 'WP_CLI' ) && WP_CLI ? $this->conf( $id ) : [] ); } switch ( $id ) { // Don't allow Editor/admin to be used in crawler role simulator. case self::O_CRAWLER_ROLES: $data = Utility::sanitize_lines( $data ); if ( $data ) { foreach ( $data as $k => $v ) { if ( user_can( $v, 'edit_posts' ) ) { /* translators: %s: user id in tags */ $msg = sprintf( esc_html__( 'The user with id %s has editor access, which is not allowed for the role simulator.', 'litespeed-cache' ), '' . esc_html( $v ) . '' ); Admin_Display::error( $msg ); unset( $data[ $k ] ); } } } break; case self::O_CDN_MAPPING: /** * CDN setting * * Raw data format: * cdn-mapping[url][] = 'xxx' * cdn-mapping[url][2] = 'xxx2' * cdn-mapping[inc_js][] = 1 * * Final format: * cdn-mapping[0][url] = 'xxx' * cdn-mapping[2][url] = 'xxx2' */ if ( $data ) { foreach ( $data as $k => $v ) { if ( self::CDN_MAPPING_FILETYPE === $child ) { $v = Utility::sanitize_lines( $v ); } if ( self::CDN_MAPPING_URL === $child ) { // If not a valid URL, turn off CDN. if ( 0 !== strpos( $v, 'https://' ) ) { self::debug( '❌ CDN mapping set to OFF due to invalid URL' ); $the_matrix[ self::O_CDN ] = false; } $v = trailingslashit( $v ); } if ( in_array( $child, [ self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS ], true ) ) { // Because these can't be auto detected in `config->update()`, need to format here. $v = 'false' === $v ? 0 : (bool) $v; } if ( empty( $data2[ $k ] ) ) { $data2[ $k ] = []; } $data2[ $k ][ $child ] = $v; } } $data = $data2; break; case self::O_CRAWLER_COOKIES: /** * Cookie Crawler setting * Raw Format: * crawler-cookies[name][] = xxx * crawler-cookies[name][2] = xxx2 * crawler-cookies[vals][] = xxx * * Final format: * crawler-cookie[0][name] = 'xxx' * crawler-cookie[0][vals] = 'xxx' * crawler-cookie[2][name] = 'xxx2' * * Empty line for `vals` uses literal `_null`. */ if ( $data ) { foreach ( $data as $k => $v ) { if ( self::CRWL_COOKIE_VALS === $child ) { $v = Utility::sanitize_lines( $v ); } if ( empty( $data2[ $k ] ) ) { $data2[ $k ] = []; } $data2[ $k ][ $child ] = $v; } } $data = $data2; break; // Cache exclude category. case self::O_CACHE_EXC_CAT: $data2 = []; $data = Utility::sanitize_lines( $data ); foreach ( $data as $v ) { $cat_id = get_cat_ID( $v ); if ( ! $cat_id ) { continue; } $data2[] = $cat_id; } $data = $data2; break; // Cache exclude tag. case self::O_CACHE_EXC_TAG: $data2 = []; $data = Utility::sanitize_lines( $data ); foreach ( $data as $v ) { $term = get_term_by( 'name', $v, 'post_tag' ); if ( ! $term ) { // Could surface an admin error here if desired. continue; } $data2[] = $term->term_id; } $data = $data2; break; case self::O_IMG_OPTM_SIZES_SKIPPED: // Skip image sizes $image_sizes = Utility::prepare_image_sizes_array(); $saved_sizes = isset( $raw_data[$id] ) ? $raw_data[$id] : []; $data = array_diff( $image_sizes, $saved_sizes ); break; default: break; } $the_matrix[ $id ] = $data; } // Special handler for CDN/Crawler 2d list to drop empty rows. foreach ( $the_matrix as $id => $data ) { /** * Format: * cdn-mapping[0][url] = 'xxx' * cdn-mapping[2][url] = 'xxx2' * crawler-cookie[0][name] = 'xxx' * crawler-cookie[0][vals] = 'xxx' * crawler-cookie[2][name] = 'xxx2' */ if ( self::O_CDN_MAPPING === $id || self::O_CRAWLER_COOKIES === $id ) { // Drop row if all children are empty. foreach ( $data as $k => $v ) { foreach ( $v as $v2 ) { if ( $v2 ) { continue 2; } } // All empty. unset( $the_matrix[ $id ][ $k ] ); } } // Don't allow repeated cookie names. if ( self::O_CRAWLER_COOKIES === $id ) { $existed = []; foreach ( $the_matrix[ $id ] as $k => $v ) { if ( empty( $v[ self::CRWL_COOKIE_NAME ] ) || in_array( $v[ self::CRWL_COOKIE_NAME ], $existed, true ) ) { // Filter repeated or empty name. unset( $the_matrix[ $id ][ $k ] ); continue; } $existed[] = $v[ self::CRWL_COOKIE_NAME ]; } } // tmp fix the 3rd part woo update hook issue when enabling vary cookie. if ( 'wc_cart_vary' === $id ) { if ( $data ) { add_filter( 'litespeed_vary_cookies', function ( $arr ) { $arr[] = 'woocommerce_cart_hash'; return array_unique( $arr ); } ); } else { add_filter( 'litespeed_vary_cookies', function ( $arr ) { $key = array_search( 'woocommerce_cart_hash', $arr, true ); if ( false !== $key ) { unset( $arr[ $key ] ); } return array_unique( $arr ); } ); } } } // id validation will be inside. $this->cls( 'Conf' )->update_confs( $the_matrix ); $msg = __( 'Options saved.', 'litespeed-cache' ); Admin_Display::success( $msg ); } /** * Parses any changes made by the network admin on the network settings. * * @since 3.0 * * @param array $raw_data Raw data from request/CLI. * @return void */ public function network_save( $raw_data ) { self::debug( 'network saving' ); if ( empty( $raw_data[ self::ENROLL ] ) ) { wp_die( esc_html__( 'No fields', 'litespeed-cache' ) ); } $raw_data = Admin::cleanup_text( $raw_data ); foreach ( array_unique( $raw_data[ self::ENROLL ] ) as $id ) { // Append current field to setting save. if ( ! array_key_exists( $id, self::$_default_site_options ) ) { continue; } $data = ! empty( $raw_data[ $id ] ) ? $raw_data[ $id ] : false; // id validation will be inside. $this->cls( 'Conf' )->network_update( $id, $data ); } // Update related files. Activation::cls()->update_files(); $msg = __( 'Options saved.', 'litespeed-cache' ); Admin_Display::success( $msg ); } /** * Hooked to the wp_redirect filter when saving widgets fails validation. * * @since 1.1.3 * * @param string $location The redirect location. * @return string Updated location string. */ public static function widget_save_err( $location ) { return str_replace( '?message=0', '?error=0', $location ); } /** * Validate the LiteSpeed Cache settings on widget save. * * @since 1.1.3 * * @param array $instance The new settings. * @param array $new_instance The raw submitted settings. * @param array $old_instance The original settings. * @param \WP_Widget $widget The widget instance. * @return array|false Updated settings on success, false on error. */ public static function validate_widget_save( $instance, $new_instance, $old_instance, $widget ) { if ( empty( $new_instance ) ) { return $instance; } if ( ! isset( $new_instance[ ESI::WIDGET_O_ESIENABLE ], $new_instance[ ESI::WIDGET_O_TTL ] ) ) { return $instance; } $esi = (int) $new_instance[ ESI::WIDGET_O_ESIENABLE ] % 3; $ttl = (int) $new_instance[ ESI::WIDGET_O_TTL ]; if ( 0 !== $ttl && $ttl < 30 ) { add_filter( 'wp_redirect', __CLASS__ . '::widget_save_err' ); return false; // Invalid ttl. } if ( empty( $instance[ Conf::OPTION_NAME ] ) ) { // @todo to be removed. $instance[ Conf::OPTION_NAME ] = []; } $instance[ Conf::OPTION_NAME ][ ESI::WIDGET_O_ESIENABLE ] = $esi; $instance[ Conf::OPTION_NAME ][ ESI::WIDGET_O_TTL ] = $ttl; $current = ! empty( $old_instance[ Conf::OPTION_NAME ] ) ? $old_instance[ Conf::OPTION_NAME ] : false; // Avoid unsanitized superglobal usage. $referrer = isset( $_SERVER['HTTP_REFERER'] ) ? esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) : ''; // Only purge when not in the Customizer. if ( false === strpos( $referrer, '/wp-admin/customize.php' ) ) { if ( ! $current || $esi !== (int) $current[ ESI::WIDGET_O_ESIENABLE ] ) { Purge::purge_all( 'Widget ESI_enable changed' ); } elseif ( 0 !== $ttl && $ttl !== (int) $current[ ESI::WIDGET_O_TTL ] ) { Purge::add( Tag::TYPE_WIDGET . $widget->id ); } Purge::purge_all( 'Widget saved' ); } return $instance; } } /** * Guest mode management class. * * Handles syncing of Guest Mode IP and UA lists from QUIC.cloud. * * @package LiteSpeed * @since 7.7 */ namespace LiteSpeed; defined( 'WPINC' ) || exit(); /** * Class Guest * * Extends Cloud class to provide Guest Mode related functionality. */ class Guest extends Cloud { const LOG_TAG = '👤'; const TYPE_SYNC = 'sync'; /** * Cron handler for daily Guest Mode sync. * * @since 7.7 * @return void */ public static function cron() { self::debug( 'Cron: starting daily sync' ); self::cls()->sync_lists(); } /** * Sync Guest Mode IP and UA lists. * * Fetches the latest IP and UA lists from QUIC.cloud API and saves them locally. * * @since 7.7 * @return array{success: bool, message: string} */ public function sync_lists() { self::debug( 'Starting Guest Mode lists sync' ); $cloud_dir = LITESPEED_STATIC_DIR . '/cloud'; $results = [ 'ips' => false, 'uas' => false, ]; foreach ( [ 'ips', 'uas' ] as $type ) { $data = $this->_fetch_api( $this->_cloud_server_wp . '/gm_' . $type ); if ( $data && File::save( $cloud_dir . '/gm_' . $type . '.txt', $data, true ) ) { self::debug( 'Guest Mode ' . $type . ' synced' ); $results[ $type ] = true; } } $success = $results['ips'] && $results['uas']; $message = $success ? __( 'Guest Mode lists synced successfully.', 'litespeed-cache' ) : __( 'Failed to sync Guest Mode lists.', 'litespeed-cache' ); return [ 'success' => $success, 'message' => $message, ]; } /** * Fetch data from API. * * @since 7.7 * @param string $url API URL. * @return string|false Data on success, false on failure. */ private function _fetch_api( $url ) { self::debug( 'Fetching: ' . $url ); $response = wp_remote_get( $url, [ 'timeout' => 15, ] ); if ( is_wp_error( $response ) ) { self::debug( 'Fetch error: ' . $response->get_error_message() ); return false; } $code = wp_remote_retrieve_response_code( $response ); if ( 200 !== $code ) { self::debug( 'Fetch failed with code: ' . $code ); return false; } $body = wp_remote_retrieve_body( $response ); if ( empty( $body ) ) { self::debug( 'Empty response body' ); return false; } return $body; } /** * Handle all request actions from main class. * * @since 7.7 * @return void */ public function handler() { $type = Router::verify_type(); switch ( $type ) { case self::TYPE_SYNC: $result = $this->sync_lists(); if ( Router::is_ajax() ) { wp_send_json( $result ); } if ( $result['success'] ) { Admin_Display::success( $result['message'] ); } else { Admin_Display::error( $result['message'] ); } break; default: break; } Admin::redirect(); } } /*! elementor - v3.23.0 - 05-08-2024 */ /*! For license information please see common.min.js.LICENSE.txt */ (()=>{var C={71177:(C,T,B)=>{"use strict";function n(C){for(var T=arguments.length,B=Array(T>1?T-1:0),q=1;q3?T.i-4:T.i:Array.isArray(C)?1:s(C)?2:v(C)?3:0}function u(C,T){return 2===o(C)?C.has(T):Object.prototype.hasOwnProperty.call(C,T)}function a(C,T){return 2===o(C)?C.get(T):C[T]}function f(C,T,B){var q=o(C);2===q?C.set(T,B):3===q?C.add(B):C[T]=B}function c(C,T){return C===T?0!==C||1/C==1/T:C!=C&&T!=T}function s(C){return L&&C instanceof Map}function v(C){return $&&C instanceof Set}function p(C){return C.o||C.t}function l(C){if(Array.isArray(C))return Array.prototype.slice.call(C);var T=X(C);delete T[K];for(var B=J(T),q=0;q1&&(C.set=C.add=C.clear=C.delete=h),Object.freeze(C),T&&i(C,(function(C,T){return d(T,!0)}),!0)),C}function h(){n(2)}function y(C){return null==C||"object"!=typeof C||Object.isFrozen(C)}function b(C){var T=Y[C];return T||n(18,C),T}function m(C,T){Y[C]||(Y[C]=T)}function _(){return W}function j(C,T){T&&(b("Patches"),C.u=[],C.s=[],C.v=T)}function g(C){O(C),C.p.forEach(S),C.p=null}function O(C){C===W&&(W=C.l)}function w(C){return W={p:[],l:W,h:C,m:!0,_:0}}function S(C){var T=C[K];0===T.i||1===T.i?T.j():T.g=!0}function P(C,T){T._=T.p.length;var B=T.p[0],q=void 0!==C&&C!==B;return T.h.O||b("ES5").S(T,C,q),q?(B[K].P&&(g(T),n(4)),t(C)&&(C=M(T,C),T.l||x(T,C)),T.u&&b("Patches").M(B[K].t,C,T.u,T.s)):C=M(T,B,[]),g(T),T.u&&T.v(T.u,T.s),C!==H?C:void 0}function M(C,T,B){if(y(T))return T;var q=T[K];if(!q)return i(T,(function(W,U){return A(C,q,T,W,U,B)}),!0),T;if(q.A!==C)return T;if(!q.P)return x(C,q.t,!0),q.t;if(!q.I){q.I=!0,q.A._--;var W=4===q.i||5===q.i?q.o=l(q.k):q.o,U=W,L=!1;3===q.i&&(U=new Set(W),W.clear(),L=!0),i(U,(function(T,U){return A(C,q,W,T,U,B,L)})),x(C,W,!1),B&&C.u&&b("Patches").N(q,B,C.u,C.s)}return q.o}function A(C,T,B,q,W,U,L){if(r(W)){var $=M(C,W,U&&T&&3!==T.i&&!u(T.R,q)?U.concat(q):void 0);if(f(B,q,$),!r($))return;C.m=!1}else L&&B.add(W);if(t(W)&&!y(W)){if(!C.h.D&&C._<1)return;M(C,W),T&&T.A.l||x(C,W)}}function x(C,T,B){void 0===B&&(B=!1),!C.l&&C.h.D&&C.m&&d(T,B)}function z(C,T){var B=C[K];return(B?p(B):C)[T]}function I(C,T){if(T in C)for(var B=Object.getPrototypeOf(C);B;){var q=Object.getOwnPropertyDescriptor(B,T);if(q)return q;B=Object.getPrototypeOf(B)}}function k(C){C.P||(C.P=!0,C.l&&k(C.l))}function E(C){C.o||(C.o=l(C.t))}function N(C,T,B){var q=s(T)?b("MapSet").F(T,B):v(T)?b("MapSet").T(T,B):C.O?function(C,T){var B=Array.isArray(C),q={i:B?1:0,A:T?T.A:_(),P:!1,I:!1,R:{},l:T,t:C,k:null,o:null,j:null,C:!1},W=q,U=Z;B&&(W=[q],U=ee);var L=Proxy.revocable(W,U),$=L.revoke,V=L.proxy;return q.k=V,q.j=$,V}(T,B):b("ES5").J(T,B);return(B?B.A:_()).p.push(q),q}function R(C){return r(C)||n(22,C),function n(C){if(!t(C))return C;var T,B=C[K],q=o(C);if(B){if(!B.P&&(B.i<4||!b("ES5").K(B)))return B.t;B.I=!0,T=D(C,q),B.I=!1}else T=D(C,q);return i(T,(function(C,q){B&&a(B.t,C)===q||f(T,C,n(q))})),3===q?new Set(T):T}(C)}function D(C,T){switch(T){case 2:return new Map(C);case 3:return Array.from(C)}return l(C)}function F(){function t(T,B){var q=C[T];return q?q.enumerable=B:C[T]=q={configurable:!0,enumerable:B,get:function(){var C=this[K];return Z.get(C,T)},set:function(C){var B=this[K];Z.set(B,T,C)}},q}function e(C){for(var T=C.length-1;T>=0;T--){var B=C[T][K];if(!B.P)switch(B.i){case 5:a(B)&&k(B);break;case 4:o(B)&&k(B)}}}function o(C){for(var T=C.t,B=C.k,q=J(B),W=q.length-1;W>=0;W--){var U=q[W];if(U!==K){var L=T[U];if(void 0===L&&!u(T,U))return!0;var $=B[U],V=$&&$[K];if(V?V.t!==L:!c($,L))return!0}}var H=!!T[K];return q.length!==J(T).length+(H?0:1)}function a(C){var T=C.k;if(T.length!==C.t.length)return!0;var B=Object.getOwnPropertyDescriptor(T,T.length-1);if(B&&!B.get)return!0;for(var q=0;qCe,MiddlewareArray:()=>ke,SHOULD_AUTOBATCH:()=>ze,TaskAbortError:()=>Be,__DO_NOT_USE__ActionTypes:()=>ue,addListener:()=>Ue,applyMiddleware:()=>applyMiddleware,autoBatchEnhancer:()=>autoBatchEnhancer,bindActionCreators:()=>bindActionCreators,clearAllListeners:()=>Le,combineReducers:()=>combineReducers,compose:()=>compose,configureStore:()=>configureStore,createAction:()=>createAction,createActionCreatorInvariantMiddleware:()=>createActionCreatorInvariantMiddleware,createAsyncThunk:()=>Pe,createDraftSafeSelector:()=>createDraftSafeSelector,createEntityAdapter:()=>createEntityAdapter,createImmutableStateInvariantMiddleware:()=>createImmutableStateInvariantMiddleware,createListenerMiddleware:()=>createListenerMiddleware,createNextState:()=>oe,createReducer:()=>createReducer,createSelector:()=>fe,createSerializableStateInvariantMiddleware:()=>createSerializableStateInvariantMiddleware,createSlice:()=>createSlice,createStore:()=>createStore,current:()=>R,findNonSerializableValue:()=>findNonSerializableValue,freeze:()=>d,getDefaultMiddleware:()=>getDefaultMiddleware,getType:()=>getType,isAction:()=>isAction,isActionCreator:()=>isActionCreator,isAllOf:()=>isAllOf,isAnyOf:()=>isAnyOf,isAsyncThunkAction:()=>isAsyncThunkAction,isDraft:()=>r,isFluxStandardAction:()=>isFSA,isFulfilled:()=>isFulfilled,isImmutableDefault:()=>isImmutableDefault,isPending:()=>isPending,isPlain:()=>isPlain,isPlainObject:()=>redux_toolkit_esm_isPlainObject,isRejected:()=>isRejected,isRejectedWithValue:()=>isRejectedWithValue,legacy_createStore:()=>ce,miniSerializeError:()=>miniSerializeError,nanoid:()=>nanoid,original:()=>e,prepareAutoBatched:()=>prepareAutoBatched,removeListener:()=>$e,unwrapResult:()=>unwrapResult});var q,W,U="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),L="undefined"!=typeof Map,$="undefined"!=typeof Set,V="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=U?Symbol.for("immer-nothing"):((q={})["immer-nothing"]=!0,q),G=U?Symbol.for("immer-draftable"):"__$immer_draftable",K=U?Symbol.for("immer-state"):"__$immer_state",Q=("undefined"!=typeof Symbol&&Symbol.iterator,""+Object.prototype.constructor),J="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(C){return Object.getOwnPropertyNames(C).concat(Object.getOwnPropertySymbols(C))}:Object.getOwnPropertyNames,X=Object.getOwnPropertyDescriptors||function(C){var T={};return J(C).forEach((function(B){T[B]=Object.getOwnPropertyDescriptor(C,B)})),T},Y={},Z={get:function(C,T){if(T===K)return C;var B=p(C);if(!u(B,T))return function(C,T,B){var q,W=I(T,B);return W?"value"in W?W.value:null===(q=W.get)||void 0===q?void 0:q.call(C.k):void 0}(C,B,T);var q=B[T];return C.I||!t(q)?q:q===z(C.t,T)?(E(C),C.o[T]=N(C.A.h,q,C)):q},has:function(C,T){return T in p(C)},ownKeys:function(C){return Reflect.ownKeys(p(C))},set:function(C,T,B){var q=I(p(C),T);if(null==q?void 0:q.set)return q.set.call(C.k,B),!0;if(!C.P){var W=z(p(C),T),U=null==W?void 0:W[K];if(U&&U.t===B)return C.o[T]=B,C.R[T]=!1,!0;if(c(B,W)&&(void 0!==B||u(C.t,T)))return!0;E(C),k(C)}return C.o[T]===B&&(void 0!==B||T in C.o)||Number.isNaN(B)&&Number.isNaN(C.o[T])||(C.o[T]=B,C.R[T]=!0),!0},deleteProperty:function(C,T){return void 0!==z(C.t,T)||T in C.t?(C.R[T]=!1,E(C),k(C)):delete C.R[T],C.o&&delete C.o[T],!0},getOwnPropertyDescriptor:function(C,T){var B=p(C),q=Reflect.getOwnPropertyDescriptor(B,T);return q?{writable:!0,configurable:1!==C.i||"length"!==T,enumerable:q.enumerable,value:B[T]}:q},defineProperty:function(){n(11)},getPrototypeOf:function(C){return Object.getPrototypeOf(C.t)},setPrototypeOf:function(){n(12)}},ee={};i(Z,(function(C,T){ee[C]=function(){return arguments[0]=arguments[0][0],T.apply(this,arguments)}})),ee.deleteProperty=function(C,T){return ee.set.call(this,C,T,void 0)},ee.set=function(C,T,B){return Z.set.call(this,C[0],T,B,C[0])};var te=function(){function e(C){var T=this;this.O=V,this.D=!0,this.produce=function(C,B,q){if("function"==typeof C&&"function"!=typeof B){var W=B;B=C;var U=T;return function(C){var T=this;void 0===C&&(C=W);for(var q=arguments.length,L=Array(q>1?q-1:0),$=1;$1?q-1:0),U=1;U=0;B--){var q=T[B];if(0===q.path.length&&"replace"===q.op){C=q.value;break}}B>-1&&(T=T.slice(B+1));var W=b("Patches").$;return r(C)?W(C,T):this.produce(C,(function(C){return W(C,T)}))},e}(),re=new te,ne=re.produce;re.produceWithPatches.bind(re),re.setAutoFreeze.bind(re),re.setUseProxies.bind(re),re.applyPatches.bind(re),re.createDraft.bind(re),re.finishDraft.bind(re);const oe=ne;function _typeof(C){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(C){return typeof C}:function(C){return C&&"function"==typeof Symbol&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},_typeof(C)}function toPropertyKey(C){var T=function toPrimitive(C,T){if("object"!=_typeof(C)||!C)return C;var B=C[Symbol.toPrimitive];if(void 0!==B){var q=B.call(C,T||"default");if("object"!=_typeof(q))return q;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===T?String:Number)(C)}(C,"string");return"symbol"==_typeof(T)?T:String(T)}function ownKeys(C,T){var B=Object.keys(C);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(C);T&&(q=q.filter((function(T){return Object.getOwnPropertyDescriptor(C,T).enumerable}))),B.push.apply(B,q)}return B}function _objectSpread2(C){for(var T=1;T-1){var W=B[q];return q>0&&(B.splice(q,1),B.unshift(W)),W.value}return le}return{get,put:function put(T,q){get(T)===le&&(B.unshift({key:T,value:q}),B.length>C&&B.pop())},getEntries:function getEntries(){return B},clear:function clear(){B=[]}}}(L,V);function memoized(){var T=H.get(arguments);if(T===le){if(T=C.apply(null,arguments),$){var B=H.getEntries().find((function(C){return $(C.value,T)}));B&&(T=B.value)}H.put(arguments,T)}return T}return memoized.clearCache=function(){return H.clear()},memoized}function createSelectorCreator(C){for(var T=arguments.length,B=new Array(T>1?T-1:0),q=1;q0&&W[W.length-1])||6!==U[0]&&2!==U[0])){L=0;continue}if(3===U[0]&&(!W||U[1]>W[0]&&U[1]-1}function getType(C){return""+C}function createActionCreatorInvariantMiddleware(C){return void 0===C&&(C={}),function(){return function(C){return function(T){return C(T)}}}}var ke=function(C){function MiddlewareArray(){for(var T=[],B=0;B",value:C};if("object"!=typeof C||null===C)return!1;if(null==U?void 0:U.has(C))return!1;for(var $=null!=q?q(C):Object.entries(C),V=W.length>0,_loop_2=function(C,$){var H=T?T+"."+C:C;if(V&&W.some((function(C){return C instanceof RegExp?C.test(H):H===C})))return"continue";return B($)?"object"==typeof $&&(L=findNonSerializableValue($,H,B,q,W,U))?{value:L}:void 0:{value:{keyPath:H,value:$}}},H=0,G=$;H0){var U=T.filter((function(T){return function takeNewKey(T,B,q){var W=q.entities[B.id],U=Object.assign({},W,B.changes),L=selectIdValue(U,C),$=L!==B.id;return $&&(T[B.id]=L,delete q.entities[B.id]),q.entities[L]=U,$}(q,T,B)})).length>0;U&&(B.ids=Object.keys(B.entities))}}function upsertManyMutably(T,B){var q=splitAddedUpdatedEntities(T,C,B),W=q[0];updateManyMutably(q[1],B),addManyMutably(W,B)}return{removeAll:(T=function removeAllMutably(C){Object.assign(C,{ids:[],entities:{}})},B=createStateOperator((function(C,B){return T(B)})),function operation(C){return B(C,void 0)}),addOne:createStateOperator(addOneMutably),addMany:createStateOperator(addManyMutably),setOne:createStateOperator(setOneMutably),setMany:createStateOperator((function setManyMutably(C,T){for(var B=0,q=C=ensureEntitiesArray(C);B-1;return B&&q}function isAsyncThunkArray(C){return"function"==typeof C[0]&&"pending"in C[0]&&"fulfilled"in C[0]&&"rejected"in C[0]}function isPending(){for(var C=[],T=0;T0)for(var V=C.getState(),H=Array.from(B.values()),G=0,K=H;G{"use strict";var q=B(38003).__,W=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=W(B(78983)),L=W(B(42081)),$=function(){function FilesUploadHandler(){(0,U.default)(this,FilesUploadHandler)}return(0,L.default)(FilesUploadHandler,null,[{key:"isUploadEnabled",value:function isUploadEnabled(C){return!["svg","application/json"].includes(C)||elementorCommon.config.filesUpload.unfilteredFiles}},{key:"setUploadTypeCaller",value:function setUploadTypeCaller(C){C.uploader.uploader.param("uploadTypeCaller","elementor-wp-media-upload")}},{key:"getUnfilteredFilesNonAdminDialog",value:function getUnfilteredFilesNonAdminDialog(){return elementorCommon.dialogsManager.createWidget("alert",{id:"e-unfiltered-files-disabled-dialog",headerMessage:q("Sorry, you can't upload that file yet","elementor"),message:q("This is because JSON files may pose a security risk.","elementor")+"

"+q("To upload them anyway, ask the site administrator to enable unfiltered file uploads.","elementor"),strings:{confirm:q("Got it","elementor")}})}},{key:"getUnfilteredFilesNotEnabledDialog",value:function getUnfilteredFilesNotEnabledDialog(C){var T=window.elementorAdmin||window.elementor;if(!T.config.user.is_administrator)return this.getUnfilteredFilesNonAdminDialog();return T.helpers.getSimpleDialog("e-enable-unfiltered-files-dialog",q("Enable Unfiltered File Uploads","elementor"),q("Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.","elementor"),q("Enable","elementor"),(function onConfirm(){elementorCommon.ajax.addRequest("enable_unfiltered_files_upload",{},!0),elementorCommon.config.filesUpload.unfilteredFiles=!0,C()}))}},{key:"getUnfilteredFilesNotEnabledImportTemplateDialog",value:function getUnfilteredFilesNotEnabledImportTemplateDialog(C){return(window.elementorAdmin||window.elementor).config.user.is_administrator?elementorCommon.dialogsManager.createWidget("confirm",{id:"e-enable-unfiltered-files-dialog-import-template",headerMessage:q("Enable Unfiltered File Uploads","elementor"),message:q("Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.","elementor")+"

"+q("If you do not enable uploading unfiltered files, any SVG or JSON (including lottie) files used in the uploaded template will not be imported.","elementor"),position:{my:"center center",at:"center center"},strings:{confirm:q("Enable and Import","elementor"),cancel:q("Import Without Enabling","elementor")},onConfirm:function onConfirm(){elementorCommon.ajax.addRequest("enable_unfiltered_files_upload",{success:function success(){elementorCommon.config.filesUpload.unfilteredFiles=!0,C()}},!0)},onCancel:function onCancel(){return C()}}):this.getUnfilteredFilesNonAdminDialog()}}]),FilesUploadHandler}();T.default=$},90381:(C,T)=>{"use strict";function _createForOfIteratorHelper(C,T){var B="undefined"!=typeof Symbol&&C[Symbol.iterator]||C["@@iterator"];if(!B){if(Array.isArray(C)||(B=function _unsupportedIterableToArray(C,T){if(!C)return;if("string"==typeof C)return _arrayLikeToArray(C,T);var B=Object.prototype.toString.call(C).slice(8,-1);"Object"===B&&C.constructor&&(B=C.constructor.name);if("Map"===B||"Set"===B)return Array.from(C);if("Arguments"===B||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B))return _arrayLikeToArray(C,T)}(C))||T&&C&&"number"==typeof C.length){B&&(C=B);var q=0,W=function F(){};return{s:W,n:function n(){return q>=C.length?{done:!0}:{done:!1,value:C[q++]}},e:function e(C){throw C},f:W}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var U,L=!0,$=!1;return{s:function s(){B=B.call(C)},n:function n(){var C=B.next();return L=C.done,C},e:function e(C){$=!0,U=C},f:function f(){try{L||null==B.return||B.return()}finally{if($)throw U}}}}function _arrayLikeToArray(C,T){(null==T||T>C.length)&&(T=C.length);for(var B=0,q=new Array(T);B{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(7501)),U=q(B(78983)),L=q(B(42081)),$=q(B(58724)),V=q(B(71173)),H=q(B(74910)),G=q(B(27597)),K=q(B(90381));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,H.default)(C);if(T){var W=(0,H.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,V.default)(this,B)}}var Q=function(C){(0,$.default)(ArgsObject,C);var T=_createSuper(ArgsObject);function ArgsObject(C){var B;return(0,U.default)(this,ArgsObject),(B=T.call(this)).args=C,B}return(0,L.default)(ArgsObject,[{key:"requireArgument",value:function requireArgument(C){var T=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.args;if(!Object.prototype.hasOwnProperty.call(T,C))throw Error("".concat(C," is required."))}},{key:"requireArgumentType",value:function requireArgumentType(C,T){var B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.args;if(this.requireArgument(C,B),(0,W.default)(B[C])!==T)throw Error("".concat(C," invalid type: ").concat(T,"."))}},{key:"requireArgumentInstance",value:function requireArgumentInstance(C,T){var B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.args;if(this.requireArgument(C,B),!(B[C]instanceof T||(0,K.default)(B[C],T)))throw Error("".concat(C," invalid instance."))}},{key:"requireArgumentConstructor",value:function requireArgumentConstructor(C,T){var B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.args;if(this.requireArgument(C,B),B[C].constructor.toString()!==T.prototype.constructor.toString())throw Error("".concat(C," invalid constructor type."))}}],[{key:"getInstanceType",value:function getInstanceType(){return"ArgsObject"}}]),ArgsObject}(G.default);T.default=Q},27597:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(51121)),$=q(B(74910)),V=function(C){function InstanceType(){var C=this;(0,W.default)(this,InstanceType);for(var T=this instanceof InstanceType?this.constructor:void 0,B=[];T.__proto__&&T.__proto__.name;)B.push(T.__proto__),T=T.__proto__;B.reverse().forEach((function(T){return C instanceof T}))}return(0,U.default)(InstanceType,null,[{key:C,value:function value(C){var T=(0,L.default)((0,$.default)(InstanceType),Symbol.hasInstance,this).call(this,C);if(C&&!C.constructor.getInstanceType)return T;if(C&&(C.instanceTypes||(C.instanceTypes=[]),T||this.getInstanceType()===C.constructor.getInstanceType()&&(T=!0),T)){var B=this.getInstanceType===InstanceType.getInstanceType?"BaseInstanceType":this.getInstanceType();-1===C.instanceTypes.indexOf(B)&&C.instanceTypes.push(B)}return!T&&C&&(T=C.instanceTypes&&Array.isArray(C.instanceTypes)&&-1!==C.instanceTypes.indexOf(this.getInstanceType())),T}},{key:"getInstanceType",value:function getInstanceType(){elementorModules.ForceMethodImplementation()}}]),InstanceType}(Symbol.hasInstance);T.default=V},1192:(C,T,B)=>{"use strict";var q=B(73203)(B(7501)),W=function Module(){var C,T=jQuery,B=arguments,W=this,U={};this.getItems=function(C,T){if(T){var B=T.split("."),q=B.splice(0,1);if(!B.length)return C[q];if(!C[q])return;return this.getItems(C[q],B.join("."))}return C},this.getSettings=function(T){return this.getItems(C,T)},this.setSettings=function(B,U,L){if(L||(L=C),"object"===(0,q.default)(B))return T.extend(L,B),W;var $=B.split("."),V=$.splice(0,1);return $.length?(L[V]||(L[V]={}),W.setSettings($.join("."),U,L[V])):(L[V]=U,W)},this.getErrorMessage=function(C,T){var B;if("forceMethodImplementation"===C)B="The method '".concat(T,"' must to be implemented in the inheritor child.");else B="An error occurs";return B},this.forceMethodImplementation=function(C){throw new Error(this.getErrorMessage("forceMethodImplementation",C))},this.on=function(C,B){return"object"===(0,q.default)(C)?(T.each(C,(function(C){W.on(C,this)})),W):(C.split(" ").forEach((function(C){U[C]||(U[C]=[]),U[C].push(B)})),W)},this.off=function(C,T){if(!U[C])return W;if(!T)return delete U[C],W;var B=U[C].indexOf(T);return-1!==B&&(delete U[C][B],U[C]=U[C].filter((function(C){return C}))),W},this.trigger=function(C){var B="on"+C[0].toUpperCase()+C.slice(1),q=Array.prototype.slice.call(arguments,1);W[B]&&W[B].apply(W,q);var L=U[C];return L?(T.each(L,(function(C,T){T.apply(W,q)})),W):W},function init(){W.__construct.apply(W,B),function ensureClosureMethods(){T.each(W,(function(C){var T=W[C];"function"==typeof T&&(W[C]=function(){return T.apply(W,arguments)})}))}(),function initSettings(){C=W.getDefaultSettings();var q=B[0];q&&T.extend(!0,C,q)}(),W.trigger("init")}()};W.prototype.__construct=function(){},W.prototype.getDefaultSettings=function(){return{}},W.prototype.getConstructorID=function(){return this.constructor.name},W.extend=function(C){var T=jQuery,B=this,q=function child(){return B.apply(this,arguments)};return T.extend(q,B),(q.prototype=Object.create(T.extend({},B.prototype,C))).constructor=q,q.__super__=B.prototype,q},C.exports=W},99956:(C,T,B)=>{"use strict";var q=B(73203)(B(93231));function ownKeys(C,T){var B=Object.keys(C);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(C);T&&(q=q.filter((function(T){return Object.getOwnPropertyDescriptor(C,T).enumerable}))),B.push.apply(B,q)}return B}function _objectSpread(C){for(var T=1;T{"use strict";Object.defineProperty(T,"__esModule",{value:!0}),T.default=function getUserTimestamp(){var C=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,T=C.getTimezoneOffset(),B=new Date(C.getTime()-6e4*T).toISOString();B=B.slice(0,-1);var q=T/60,W=0<=q?"+":"-",U=Math.abs(Math.floor(q)),L=60*Math.abs(q%1);return B+(W+(10>U?"0":""))+U+":"+(10>L?"0":"")+L}},70687:(C,T,B)=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0}),Object.defineProperty(T,"Media",{enumerable:!0,get:function get(){return q.Media}});var q=B(41403)},41403:(C,T,B)=>{"use strict";var q=B(38003).__,W=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.Media=void 0;var U=W(B(50824)),L=W(B(10029)),$=W(B(78983)),V=W(B(42081)),H=W(B(51121)),G=W(B(58724)),K=W(B(71173)),Q=W(B(74910)),J=W(B(76072)),X=W(B(40548));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,Q.default)(C);if(T){var W=(0,Q.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,K.default)(this,B)}}var Y=function(C){(0,G.default)(Media,C);var T,B=_createSuper(Media);function Media(){return(0,$.default)(this,Media),B.apply(this,arguments)}return(0,V.default)(Media,[{key:"validateArgs",value:function validateArgs(){this.requireArgumentInstance("file",File)}},{key:"getRequestData",value:function getRequestData(){var C=(0,H.default)((0,Q.default)(Media.prototype),"getRequestData",this).call(this);return C.namespace="wp",C.version="2",C}},{key:"applyBeforeCreate",value:function applyBeforeCreate(C){var T;return C.headers={"Content-Disposition":"attachment; filename=".concat(this.file.name),"Content-Type":this.file.type},C.query={uploadTypeCaller:"elementor-wp-media-upload"},C.data=this.file,null!==(T=C.options)&&void 0!==T&&T.progress&&(this.toast=elementor.notifications.showToast({message:q("Uploading..."),sticky:!0})),C}},{key:"applyAfterCreate",value:function applyAfterCreate(C,T){var B;return null!==(B=T.options)&&void 0!==B&&B.progress&&this.toast.hide(),C}},{key:"run",value:(T=(0,L.default)(U.default.mark((function _callee(){return U.default.wrap((function _callee$(C){for(;;)switch(C.prev=C.next){case 0:if(this.file=this.args.file,!(this.file.size>parseInt(window._wpPluploadSettings.defaults.filters.max_file_size,10))){C.next=3;break}throw new Error(q("The file exceeds the maximum upload size for this site.","elementor"));case 3:if(window._wpPluploadSettings.defaults.filters.mime_types[0].extensions.split(",").includes(this.file.name.split(".").pop())||elementor.config.filesUpload.unfilteredFiles){C.next=6;break}return X.default.getUnfilteredFilesNotEnabledDialog((function(){})).show(),C.abrupt("return");case 6:return C.next=8,(0,H.default)((0,Q.default)(Media.prototype),"run",this).call(this);case 8:return C.abrupt("return",C.sent);case 9:case"end":return C.stop()}}),_callee,this)}))),function run(){return T.apply(this,arguments)})}],[{key:"getEndpointFormat",value:function getEndpointFormat(){return"media"}}]),Media}(J.default);T.Media=Y},13450:(C,T,B)=>{"use strict";var q=B(73203),W=B(7501);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=q(B(78983)),L=q(B(42081)),$=q(B(58724)),V=q(B(71173)),H=q(B(74910)),G=q(B(19263)),K=function _interopRequireWildcard(C,T){if(!T&&C&&C.__esModule)return C;if(null===C||"object"!==W(C)&&"function"!=typeof C)return{default:C};var B=_getRequireWildcardCache(T);if(B&&B.has(C))return B.get(C);var q={},U=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var L in C)if("default"!==L&&Object.prototype.hasOwnProperty.call(C,L)){var $=U?Object.getOwnPropertyDescriptor(C,L):null;$&&($.get||$.set)?Object.defineProperty(q,L,$):q[L]=C[L]}q.default=C,B&&B.set(C,q);return q}(B(70687));function _getRequireWildcardCache(C){if("function"!=typeof WeakMap)return null;var T=new WeakMap,B=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(C){return C?B:T})(C)}function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,H.default)(C);if(T){var W=(0,H.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,V.default)(this,B)}}var Q=function(C){(0,$.default)(Component,C);var T=_createSuper(Component);function Component(){return(0,U.default)(this,Component),T.apply(this,arguments)}return(0,L.default)(Component,[{key:"getNamespace",value:function getNamespace(){return"wp"}},{key:"defaultData",value:function defaultData(){return this.importCommands(K)}}]),Component}(G.default);T.default=Q},52253:C=>{"use strict";C.exports=function Debug(){var C=this,T=[],B={},q={},W=function onError(T){var q,W=null===(q=T.originalEvent)||void 0===q?void 0:q.error;if(W){var U=!1,L=B.urlsToWatch;jQuery.each(L,(function(){if(-1!==W.stack.indexOf(this))return U=!0,!1})),U&&C.addError({type:W.name,message:W.message,url:T.originalEvent.filename,line:T.originalEvent.lineno,column:T.originalEvent.colno})}};this.addURLToWatch=function(C){B.urlsToWatch.push(C)},this.addCustomError=function(C,T,B){var q={type:C.name,message:C.message,url:C.fileName||C.sourceURL,line:C.lineNumber||C.line,column:C.columnNumber||C.column,customFields:{category:T||"general",tag:B}};if(!q.url){var W=C.stack.match(/\n {4}at (.*?(?=:(\d+):(\d+)))/);W&&(q.url=W[1],q.line=W[2],q.column=W[3])}this.addError(q)},this.addError=function(B){var q={type:"Error",timestamp:Math.floor((new Date).getTime()/1e3),message:null,url:null,line:null,column:null,customFields:{}};T.push(jQuery.extend(!0,q,B)),C.sendErrors()},this.sendErrors=function(){q.$window.off("error",W),jQuery.ajax({url:elementorCommon.config.ajax.url,method:"POST",data:{action:"elementor_js_log",_nonce:elementorCommon.ajax.getSettings("nonce"),data:T},success:function success(){T=[],q.$window.on("error",W)}})},function init(){!function initSettings(){B={debounceDelay:500,urlsToWatch:["elementor/assets"]}}(),function initElements(){q.$window=jQuery(window)}(),function bindEvents(){q.$window.on("error",W)}(),C.sendErrors=_.debounce(C.sendErrors,B.debounceDelay)}()}},90287:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=function(){function Helpers(){(0,W.default)(this,Helpers)}return(0,U.default)(Helpers,[{key:"softDeprecated",value:function softDeprecated(C,T,B){elementorDevTools.deprecation.deprecated(C,T,B),elementorDevTools.deprecation.deprecated("elementorCommon.helpers.softDeprecated()","3.7.0","elementorDevTools.deprecation.deprecated()")}},{key:"hardDeprecated",value:function hardDeprecated(C,T,B){elementorDevTools.deprecation.deprecated(C,T,B),elementorDevTools.deprecation.deprecated("elementorCommon.helpers.hardDeprecated()","3.7.0","elementorDevTools.deprecation.deprecated()")}},{key:"deprecatedMessage",value:function deprecatedMessage(C,T,B,q){elementorDevTools.deprecation.deprecated(T,B,q),elementorDevTools.deprecation.deprecated("elementorCommon.helpers.deprecatedMessage()","3.7.0","elementorDevTools.deprecation.deprecated()")}},{key:"consoleWarn",value:function consoleWarn(){var C;(C=elementorDevTools).consoleWarn.apply(C,arguments),elementorDevTools.deprecation.deprecated("elementorCommon.helpers.consoleWarn()","3.7.0","elementorDevTools.consoleWarn()")}},{key:"consoleError",value:function consoleError(C){console.error(C),elementorDevTools.deprecation.deprecated("elementorCommon.helpers.consoleError()","3.7.0","console.error()")}},{key:"deprecatedMethod",value:function deprecatedMethod(C,T,B){elementorDevTools.deprecation.deprecated(C,T,B),elementorDevTools.deprecation.deprecated("elementorCommon.helpers.deprecatedMethod()","2.8.0","elementorDevTools.deprecation.deprecated()")}},{key:"cloneObject",value:function cloneObject(C){return JSON.parse(JSON.stringify(C))}},{key:"upperCaseWords",value:function upperCaseWords(C){return(C+"").replace(/^(.)|\s+(.)/g,(function(C){return C.toUpperCase()}))}},{key:"getUniqueId",value:function getUniqueId(){return Math.random().toString(16).substr(2,7)}}]),Helpers}();T.default=L},35107:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,W.default)(this,_default),T.apply(this,arguments)}return(0,U.default)(_default,[{key:"get",value:function get(C,T){var B;T=T||{};try{B=T.session?sessionStorage:localStorage}catch(T){return C?void 0:{}}var q=B.getItem("elementor");(q=q?JSON.parse(q):{}).__expiration||(q.__expiration={});var W=q.__expiration,U=[];C?W[C]&&(U=[C]):U=Object.keys(W);var L=!1;return U.forEach((function(C){new Date(W[C]){"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(40131)),U=q(B(78983)),L=q(B(42081)),$=q(B(77266)),V=q(B(58724)),H=q(B(71173)),G=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,G.default)(C);if(T){var W=(0,G.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,H.default)(this,B)}}var K=function(C){(0,V.default)(_default,C);var T=_createSuper(_default);function _default(){var C;(0,U.default)(this,_default);for(var B=arguments.length,q=new Array(B),W=0;W{"use strict";var q=B(38003).__,W=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=W(B(78983)),L=W(B(42081)),$=W(B(51121)),V=W(B(58724)),H=W(B(71173)),G=W(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,G.default)(C);if(T){var W=(0,G.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,H.default)(this,B)}}var K=function(C){(0,V.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,U.default)(this,_default),T.apply(this,arguments)}return(0,L.default)(_default,[{key:"addPopupPlugin",value:function addPopupPlugin(){var C=0;jQuery.fn.elementorConnect=function(T){var B=this;null!=T&&T.popup&&(jQuery(this).on("click",(function(C){var q,W;C.preventDefault();var U=(null===(q=T.popup)||void 0===q?void 0:q.width)||600,L=(null===(W=T.popup)||void 0===W?void 0:W.height)||700;window.open(jQuery(B).attr("href")+"&mode=popup","elementorConnect","toolbar=no, menubar=no, width=".concat(U,", height=").concat(L,", top=200, left=0"))})),delete T.popup);var W=jQuery.extend({success:function success(){return location.reload()},error:function error(){elementor.notifications.showToast({message:q("Unable to connect","elementor")})},parseUrl:function parseUrl(C){return C}},T);return this.each((function(){C++;var T=jQuery(this),B="cb"+C;T.attr({target:"_blank",rel:"opener",href:W.parseUrl(T.attr("href")+"&mode=popup&callback_id="+B)}),elementorCommon.elements.$window.on("elementor/connect/success/"+B,W.success).on("elementor/connect/error/"+B,W.error)})),this}}},{key:"getDefaultSettings",value:function getDefaultSettings(){return{selectors:{connectButton:"#elementor-template-library-connect__button"}}}},{key:"getDefaultElements",value:function getDefaultElements(){return{$connectButton:jQuery(this.getSettings("selectors.connectButton"))}}},{key:"applyPopup",value:function applyPopup(){this.elements.$connectButton.elementorConnect()}},{key:"onInit",value:function onInit(){(0,$.default)((0,G.default)(_default.prototype),"onInit",this).call(this),this.addPopupPlugin(),this.applyPopup()}}]),_default}(elementorModules.ViewModule);T.default=K},28095:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.Index=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(Index,C);var T=_createSuper(Index);function Index(){return(0,W.default)(this,Index),T.apply(this,arguments)}return(0,U.default)(Index,null,[{key:"getEndpointFormat",value:function getEndpointFormat(){return"send-event"}}]),Index}(q(B(76072)).default);T.Index=H},26231:(C,T,B)=>{"use strict";var q=B(73203),W=B(7501);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=q(B(78983)),L=q(B(42081)),$=q(B(58724)),V=q(B(71173)),H=q(B(74910)),G=q(B(19263)),K=function _interopRequireWildcard(C,T){if(!T&&C&&C.__esModule)return C;if(null===C||"object"!==W(C)&&"function"!=typeof C)return{default:C};var B=_getRequireWildcardCache(T);if(B&&B.has(C))return B.get(C);var q={},U=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var L in C)if("default"!==L&&Object.prototype.hasOwnProperty.call(C,L)){var $=U?Object.getOwnPropertyDescriptor(C,L):null;$&&($.get||$.set)?Object.defineProperty(q,L,$):q[L]=C[L]}q.default=C,B&&B.set(C,q);return q}(B(28095));function _getRequireWildcardCache(C){if("function"!=typeof WeakMap)return null;var T=new WeakMap,B=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(C){return C?B:T})(C)}function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,H.default)(C);if(T){var W=(0,H.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,V.default)(this,B)}}var Q=function(C){(0,$.default)(Component,C);var T=_createSuper(Component);function Component(){return(0,U.default)(this,Component),T.apply(this,arguments)}return(0,L.default)(Component,[{key:"getNamespace",value:function getNamespace(){return"event-tracker"}},{key:"defaultData",value:function defaultData(){return this.importCommands(K)}}]),Component}(G.default);T.default=Q},62879:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(17264)),$=function(){function Events(){(0,W.default)(this,Events)}return(0,U.default)(Events,[{key:"dispatchEvent",value:function dispatchEvent(C){C&&(C.ts=(0,L.default)(),$e.data.create("event-tracker/index",{event_data:C}))}}]),Events}();T.default=$},27948:(C,T,B)=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0}),Object.defineProperty(T,"NavigateDown",{enumerable:!0,get:function get(){return q.NavigateDown}}),Object.defineProperty(T,"NavigateSelect",{enumerable:!0,get:function get(){return W.NavigateSelect}}),Object.defineProperty(T,"NavigateUp",{enumerable:!0,get:function get(){return U.NavigateUp}});var q=B(85925),W=B(98291),U=B(71117)},85925:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.NavigateDown=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(NavigateDown,C);var T=_createSuper(NavigateDown);function NavigateDown(){return(0,W.default)(this,NavigateDown),T.apply(this,arguments)}return(0,U.default)(NavigateDown,[{key:"apply",value:function apply(){this.component.getItemsView().activateNextItem()}}]),NavigateDown}(q(B(83024)).default);T.NavigateDown=H;var G=H;T.default=G},98291:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.NavigateSelect=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(NavigateSelect,C);var T=_createSuper(NavigateSelect);function NavigateSelect(){return(0,W.default)(this,NavigateSelect),T.apply(this,arguments)}return(0,U.default)(NavigateSelect,[{key:"apply",value:function apply(C){this.component.getItemsView().goToActiveItem(C)}}]),NavigateSelect}(q(B(83024)).default);T.NavigateSelect=H;var G=H;T.default=G},71117:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.NavigateUp=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(NavigateUp,C);var T=_createSuper(NavigateUp);function NavigateUp(){return(0,W.default)(this,NavigateUp),T.apply(this,arguments)}return(0,U.default)(NavigateUp,[{key:"apply",value:function apply(){this.component.getItemsView().activateNextItem(!0)}}]),NavigateUp}(q(B(83024)).default);T.NavigateUp=H;var G=H;T.default=G},47729:(C,T,B)=>{"use strict";var q=B(73203),W=B(7501);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=q(B(93231)),L=q(B(78983)),$=q(B(42081)),V=q(B(51121)),H=q(B(58724)),G=q(B(71173)),K=q(B(74910)),Q=q(B(19076)),J=q(B(2365)),X=function _interopRequireWildcard(C,T){if(!T&&C&&C.__esModule)return C;if(null===C||"object"!==W(C)&&"function"!=typeof C)return{default:C};var B=_getRequireWildcardCache(T);if(B&&B.has(C))return B.get(C);var q={},U=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var L in C)if("default"!==L&&Object.prototype.hasOwnProperty.call(C,L)){var $=U?Object.getOwnPropertyDescriptor(C,L):null;$&&($.get||$.set)?Object.defineProperty(q,L,$):q[L]=C[L]}q.default=C,B&&B.set(C,q);return q}(B(27948));function _getRequireWildcardCache(C){if("function"!=typeof WeakMap)return null;var T=new WeakMap,B=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(C){return C?B:T})(C)}function ownKeys(C,T){var B=Object.keys(C);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(C);T&&(q=q.filter((function(T){return Object.getOwnPropertyDescriptor(C,T).enumerable}))),B.push.apply(B,q)}return B}function _objectSpread(C){for(var T=1;T{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910)),H=q(B(47729));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var G=function(C){(0,L.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,W.default)(this,_default),T.apply(this,arguments)}return(0,U.default)(_default,[{key:"onInit",value:function onInit(){window.top===window&&(this.channel=Backbone.Radio.channel("ELEMENTOR:finder"),$e.components.register(new H.default({manager:this})))}}]),_default}(elementorModules.Module);T.default=G},56745:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,W.default)(this,_default),T.apply(this,arguments)}return(0,U.default)(_default,[{key:"defaults",value:function defaults(){return{description:"",icon:"settings",url:"",keywords:[],actions:[],lock:null}}}]),_default}(Backbone.Model);T.default=H},44027:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910)),H=q(B(71362)),G=q(B(98304));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var K=function(C){(0,L.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,W.default)(this,_default),T.apply(this,arguments)}return(0,U.default)(_default,[{key:"id",value:function id(){return"elementor-finder__results-container"}},{key:"ui",value:function ui(){return this.selectors={noResults:"#elementor-finder__no-results",categoryItem:".elementor-finder__results__item"},this.selectors}},{key:"events",value:function events(){return{"mouseenter @ui.categoryItem":"onCategoryItemMouseEnter"}}},{key:"getTemplate",value:function getTemplate(){return"#tmpl-elementor-finder-results-container"}},{key:"getChildView",value:function getChildView(C){return C.get("dynamic")?G.default:H.default}},{key:"initialize",value:function initialize(){this.$activeItem=null,this.childViewContainer="#elementor-finder__results",this.collection=new Backbone.Collection(Object.values(elementorCommon.finder.getSettings("data")))}},{key:"activateItem",value:function activateItem(C){this.$activeItem&&this.$activeItem.removeClass("elementor-active"),C.addClass("elementor-active"),this.$activeItem=C}},{key:"activateNextItem",value:function activateNextItem(C){var T=jQuery(this.selectors.categoryItem),B=0;this.$activeItem&&((B=T.index(this.$activeItem)+(C?-1:1))>=T.length?B=0:B<0&&(B=T.length-1));var q=T.eq(B);this.activateItem(q),q[0].scrollIntoView({block:"nearest"})}},{key:"goToActiveItem",value:function goToActiveItem(C){var T=this.$activeItem.children("a"),B=$e.shortcuts.isControlEvent(C);B&&T.attr("target","_blank"),T[0].click(),B&&T.removeAttr("target")}},{key:"onCategoryItemMouseEnter",value:function onCategoryItemMouseEnter(C){this.activateItem(jQuery(C.currentTarget))}},{key:"onChildviewToggleVisibility",value:function onChildviewToggleVisibility(){var C=this.children.every((function(C){return!C.isVisible}));this.ui.noResults.toggle(C)}}]),_default}(Marionette.CompositeView);T.default=K},71362:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910)),H=q(B(13448)),G=q(B(56745));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var K=function(C){(0,L.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,W.default)(this,_default),T.apply(this,arguments)}return(0,U.default)(_default,[{key:"className",value:function className(){return"elementor-finder__results__category"}},{key:"getTemplate",value:function getTemplate(){return"#tmpl-elementor-finder__results__category"}},{key:"getChildView",value:function getChildView(){return H.default}},{key:"initialize",value:function initialize(){this.childViewContainer=".elementor-finder__results__category__items",this.isVisible=!0;var C=this.model.get("items");C&&(C=Object.values(C)),this.collection=new Backbone.Collection(C,{model:G.default})}},{key:"filter",value:function filter(C){var T=this.getTextFilter();return C.get("title").toLowerCase().indexOf(T)>=0||C.get("keywords").some((function(C){return C.indexOf(T)>=0}))}},{key:"getTextFilter",value:function getTextFilter(){return elementorCommon.finder.channel.request("filter:text").trim().toLowerCase()}},{key:"toggleElement",value:function toggleElement(){var C=!!this.children.length;C!==this.isVisible&&(this.isVisible=C,this.$el.toggle(C),this.triggerMethod("toggle:visibility"))}},{key:"onRender",value:function onRender(){this.listenTo(elementorCommon.finder.channel,"filter:change",this.onFilterChange.bind(this))}},{key:"onFilterChange",value:function onFilterChange(){this._renderChildren()}},{key:"onRenderCollection",value:function onRenderCollection(){this.toggleElement()}}]),_default}(Marionette.CompositeView);T.default=K},27308:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910)),H=q(B(44027));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var G=function(C){(0,L.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,W.default)(this,_default),T.apply(this,arguments)}return(0,U.default)(_default,[{key:"id",value:function id(){return"elementor-finder"}},{key:"getTemplate",value:function getTemplate(){return"#tmpl-elementor-finder"}},{key:"ui",value:function ui(){return{searchInput:"#elementor-finder__search__input"}}},{key:"events",value:function events(){return{"input @ui.searchInput":"onSearchInputInput"}}},{key:"regions",value:function regions(){return{content:"#elementor-finder__content"}}},{key:"showCategoriesView",value:function showCategoriesView(){this.content.show(new H.default)}},{key:"onSearchInputInput",value:function onSearchInputInput(){var C=this.ui.searchInput.val();C&&(elementorCommon.finder.channel.reply("filter:text",C).trigger("filter:change"),this.content.currentView instanceof H.default||this.showCategoriesView()),this.content.currentView.$el.toggle(!!C)}}]),_default}(Marionette.LayoutView);T.default=G},98304:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(51121)),$=q(B(58724)),V=q(B(71173)),H=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,H.default)(C);if(T){var W=(0,H.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,V.default)(this,B)}}var G=function(C){(0,$.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,W.default)(this,_default),T.apply(this,arguments)}return(0,U.default)(_default,[{key:"className",value:function className(){return(0,L.default)((0,H.default)(_default.prototype),"className",this).call(this)+" elementor-finder__results__category--dynamic"}},{key:"ui",value:function ui(){return{title:".elementor-finder__results__category__title"}}},{key:"fetchData",value:function fetchData(){var C=this;this.ui.loadingIcon.show(),elementorCommon.ajax.addRequest("finder_get_category_items",{data:{category:this.model.get("name"),filter:this.getTextFilter()},success:function success(T){C.isDestroyed||(C.collection.set(T),C.toggleElement(),C.ui.loadingIcon.hide())}})}},{key:"filter",value:function filter(){return!0}},{key:"onFilterChange",value:function onFilterChange(){this.fetchData()}},{key:"onRender",value:function onRender(){(0,L.default)((0,H.default)(_default.prototype),"onRender",this).call(this),this.ui.loadingIcon=jQuery("",{class:"eicon-loading eicon-animation-spin"}),this.ui.title.after(this.ui.loadingIcon),this.fetchData()}}]),_default}(q(B(71362)).default);T.default=G},13448:(C,T,B)=>{"use strict";var q=B(38003).__,W=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=W(B(78983)),L=W(B(42081)),$=W(B(58724)),V=W(B(71173)),H=W(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,H.default)(C);if(T){var W=(0,H.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,V.default)(this,B)}}var G=function(C){(0,$.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,U.default)(this,_default),T.apply(this,arguments)}return(0,L.default)(_default,[{key:"className",value:function className(){return"elementor-finder__results__item"}},{key:"getTemplate",value:function getTemplate(){return"#tmpl-elementor-finder__results__item"}},{key:"events",value:function events(){this.$el[0].addEventListener("click",this.onClick.bind(this),!0)}},{key:"onClick",value:function onClick(C){var T=this,B=this.model.get("lock");null!=B&&B.is_locked&&(C.preventDefault(),C.stopImmediatePropagation(),elementorCommon.dialogsManager.createWidget("confirm",{id:"elementor-finder__lock-dialog",headerMessage:B.content.heading,message:B.content.description,position:{my:"center center",at:"center center"},strings:{confirm:B.button.text,cancel:q("Cancel","elementor")},onConfirm:function onConfirm(){var C=T.replaceLockLinkPlaceholders(B.button.url);window.open(C,"_blank")}}).show())}},{key:"replaceLockLinkPlaceholders",value:function replaceLockLinkPlaceholders(C){return C.replace(/%%utm_source%%/g,"finder").replace(/%%utm_medium%%/g,"wp-dash")}}]),_default}(Marionette.ItemView);T.default=G},2365:(C,T,B)=>{"use strict";var q=B(38003).__,W=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=W(B(78983)),L=W(B(42081)),$=W(B(51121)),V=W(B(58724)),H=W(B(71173)),G=W(B(74910)),K=W(B(27308));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,G.default)(C);if(T){var W=(0,G.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,H.default)(this,B)}}var Q=function(C){(0,V.default)(_default,C);var T=_createSuper(_default);function _default(){return(0,U.default)(this,_default),T.apply(this,arguments)}return(0,L.default)(_default,[{key:"getModalOptions",value:function getModalOptions(){return{id:"elementor-finder__modal",draggable:!0,effects:{show:"show",hide:"hide"},position:{enable:!1}}}},{key:"getLogoOptions",value:function getLogoOptions(){return{title:q("Finder","elementor")}}},{key:"initialize",value:function initialize(){for(var C,T=arguments.length,B=new Array(T),q=0;q{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(77266)),$=q(B(58724)),V=q(B(71173)),H=q(B(74910)),G=q(B(19952)),K=q(B(93231)),Q=q(B(17341)),J=q(B(40647));function ownKeys(C,T){var B=Object.keys(C);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(C);T&&(q=q.filter((function(T){return Object.getOwnPropertyDescriptor(C,T).enumerable}))),B.push.apply(B,q)}return B}function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,H.default)(C);if(T){var W=(0,H.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,V.default)(this,B)}}var X=function(C){(0,$.default)(BaseError,C);var T=_createSuper(BaseError);function BaseError(){var C,B=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",U=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return(0,W.default)(this,BaseError),C=T.call(this,B),(0,K.default)((0,L.default)(C),"code",""),(0,K.default)((0,L.default)(C),"data",[]),C.code=q,C.data=U,C}return(0,U.default)(BaseError,[{key:"notify",value:function notify(){Q.default.error(function _objectSpread(C){for(var T=1;T1&&void 0!==arguments[1]?arguments[1]:"",arguments.length>2&&void 0!==arguments[2]?arguments[2]:[])}},{key:"getHTTPErrorCode",value:function getHTTPErrorCode(){(0,J.default)()}}]),BaseError}((0,G.default)(Error));T.default=X},71148:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.DefaultError=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(DefaultError,C);var T=_createSuper(DefaultError);function DefaultError(){return(0,W.default)(this,DefaultError),T.apply(this,arguments)}return(0,U.default)(DefaultError,null,[{key:"getHTTPErrorCode",value:function getHTTPErrorCode(){return 501}}]),DefaultError}(q(B(7283)).default);T.DefaultError=H;var G=H;T.default=G},2884:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.Error404=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910)),H=q(B(7283)),G=q(B(17341));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var K=function(C){(0,L.default)(Error404,C);var T=_createSuper(Error404);function Error404(){return(0,W.default)(this,Error404),T.apply(this,arguments)}return(0,U.default)(Error404,[{key:"notify",value:function notify(){G.default.warn(this.message)}}],[{key:"getHTTPErrorCode",value:function getHTTPErrorCode(){return 404}}]),Error404}(H.default);T.Error404=K;var Q=K;T.default=Q},91305:(C,T,B)=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0}),Object.defineProperty(T,"DefaultError",{enumerable:!0,get:function get(){return q.DefaultError}}),Object.defineProperty(T,"Error404",{enumerable:!0,get:function get(){return W.Error404}});var q=B(71148),W=B(2884)},83024:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910)),H=q(B(74774)),G=q(B(70170));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var K=function(C){(0,L.default)(CommandBase,C);var T=_createSuper(CommandBase);function CommandBase(){return(0,W.default)(this,CommandBase),T.apply(this,arguments)}return(0,U.default)(CommandBase,[{key:"onBeforeRun",value:function onBeforeRun(){var C=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};$e.hooks.runUIBefore(this.command,C)}},{key:"onAfterRun",value:function onAfterRun(){var C=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},T=arguments.length>1?arguments[1]:void 0;$e.hooks.runUIAfter(this.command,C,T)}},{key:"onBeforeApply",value:function onBeforeApply(){var C=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};$e.hooks.runDataDependency(this.command,C)}},{key:"onAfterApply",value:function onAfterApply(){var C=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},T=arguments.length>1?arguments[1]:void 0;$e.hooks.runDataAfter(this.command,C,T)}},{key:"onCatchApply",value:function onCatchApply(C){this.runCatchHooks(C)}},{key:"runCatchHooks",value:function runCatchHooks(C){$e.hooks.runDataCatch(this.command,this.args,C),$e.hooks.runUICatch(this.command,this.args,C)}},{key:"requireContainer",value:function requireContainer(){var C=this,T=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.args;if(G.default.deprecated("requireContainer()","3.7.0","Extend `$e.modules.editor.CommandContainerBase` or `$e.modules.editor.CommandContainerInternalBase`"),!T.container&&!T.containers)throw Error("container or containers are required.");if(T.container&&T.containers)throw Error("container and containers cannot go together please select one of them.");(T.containers||[T.container]).forEach((function(T){C.requireArgumentInstance("container",elementorModules.editor.Container,{container:T})}))}}],[{key:"getInstanceType",value:function getInstanceType(){return"CommandBase"}}]),CommandBase}(H.default);T.default=K},46867:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(CommandCallbackBase,C);var T=_createSuper(CommandCallbackBase);function CommandCallbackBase(){return(0,W.default)(this,CommandCallbackBase),T.apply(this,arguments)}return(0,U.default)(CommandCallbackBase,[{key:"apply",value:function apply(){var C=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.constructor.getCallback()(C)}}],[{key:"getInstanceType",value:function getInstanceType(){return"CommandCallbackBase"}},{key:"getCallback",value:function getCallback(){return this.registerConfig.callback}}]),CommandCallbackBase}(q(B(83024)).default);T.default=H},76072:(C,T,B)=>{"use strict";var q=B(73203),W=B(7501);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=q(B(78983)),L=q(B(42081)),$=q(B(77266)),V=q(B(58724)),H=q(B(71173)),G=q(B(74910)),K=q(B(93231)),Q=q(B(83024)),J=function _interopRequireWildcard(C,T){if(!T&&C&&C.__esModule)return C;if(null===C||"object"!==W(C)&&"function"!=typeof C)return{default:C};var B=_getRequireWildcardCache(T);if(B&&B.has(C))return B.get(C);var q={},U=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var L in C)if("default"!==L&&Object.prototype.hasOwnProperty.call(C,L)){var $=U?Object.getOwnPropertyDescriptor(C,L):null;$&&($.get||$.set)?Object.defineProperty(q,L,$):q[L]=C[L]}q.default=C,B&&B.set(C,q);return q}(B(91305));function _getRequireWildcardCache(C){if("function"!=typeof WeakMap)return null;var T=new WeakMap,B=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(C){return C?B:T})(C)}function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,G.default)(C);if(T){var W=(0,G.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,H.default)(this,B)}}var X=function(C){(0,V.default)(CommandData,C);var T=_createSuper(CommandData);function CommandData(C){var B,q,W=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$e.data;return(0,U.default)(this,CommandData),q=T.call(this,C,W),(0,K.default)((0,$.default)(q),"data",void 0),(0,K.default)((0,$.default)(q),"type",void 0),null!==(B=q.args.options)&&void 0!==B&&B.type&&(q.type=q.args.options.type),q}return(0,L.default)(CommandData,[{key:"getApplyMethods",value:function getApplyMethods(){var C,T;switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.type){case"create":C=this.applyBeforeCreate,T=this.applyAfterCreate;break;case"delete":C=this.applyBeforeDelete,T=this.applyAfterDelete;break;case"get":C=this.applyBeforeGet,T=this.applyAfterGet;break;case"update":C=this.applyBeforeUpdate,T=this.applyAfterUpdate;break;case"options":C=this.applyBeforeOptions,T=this.applyAfterOptions;break;default:return!1}return{before:C.bind(this),after:T.bind(this)}}},{key:"getRequestData",value:function getRequestData(){return{type:this.type,args:this.args,timestamp:(new Date).getTime(),component:this.component,command:this.command,endpoint:$e.data.commandToEndpoint(this.command,JSON.parse(JSON.stringify(this.args)),this.constructor.getEndpointFormat())}}},{key:"apply",value:function apply(){var C=this,T=this.getApplyMethods();this.args=T.before(this.args);var B=this.getRequestData();return $e.data.fetch(B).then((function(q){return C.data=q,C.data=T.after(q,C.args),C.data={data:C.data},C.data=Object.assign({__requestData__:B},C.data),C.data}))}},{key:"applyBeforeCreate",value:function applyBeforeCreate(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}},{key:"applyAfterCreate",value:function applyAfterCreate(C){return C}},{key:"applyBeforeDelete",value:function applyBeforeDelete(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}},{key:"applyAfterDelete",value:function applyAfterDelete(C){return C}},{key:"applyBeforeGet",value:function applyBeforeGet(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}},{key:"applyAfterGet",value:function applyAfterGet(C){return C}},{key:"applyBeforeUpdate",value:function applyBeforeUpdate(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}},{key:"applyAfterUpdate",value:function applyAfterUpdate(C){return C}},{key:"applyBeforeOptions",value:function applyBeforeOptions(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}},{key:"applyAfterOptions",value:function applyAfterOptions(C){return C}},{key:"applyAfterCatch",value:function applyAfterCatch(C){C.notify()}},{key:"onCatchApply",value:function onCatchApply(C){var T,B,q=(null===(T=C)||void 0===T||null===(B=T.data)||void 0===B?void 0:B.status)||501,W=Object.values(J).find((function(C){return C.getHTTPErrorCode()===q}));W||(W=J.DefaultError),C=W.create(C.message,C.code,C.data||[]),this.runCatchHooks(C),this.applyAfterCatch(C)}}],[{key:"getInstanceType",value:function getInstanceType(){return"CommandData"}},{key:"getEndpointFormat",value:function getEndpointFormat(){return null}}]),CommandData}(Q.default);T.default=X},74774:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910)),H=q(B(93231)),G=q(B(42618)),K=q(B(70170));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var Q=function(C){(0,L.default)(CommandInfra,C);var T=_createSuper(CommandInfra);function CommandInfra(){var C,B=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if((0,W.default)(this,CommandInfra),!(C=T.call(this,B)).constructor.registerConfig)throw RangeError("Doing it wrong: Each command type should have `registerConfig`.");return C.command=C.constructor.getCommand(),C.component=C.constructor.getComponent(),C.initialize(B),B=C.args,C.validateArgs(B),C}return(0,U.default)(CommandInfra,[{key:"currentCommand",get:function get(){return K.default.deprecated("this.currentCommand","3.7.0","this.command"),this.command}},{key:"initialize",value:function initialize(){}},{key:"validateArgs",value:function validateArgs(){}},{key:"apply",value:function apply(){elementorModules.ForceMethodImplementation()}},{key:"run",value:function run(){return this.apply(this.args)}},{key:"onBeforeRun",value:function onBeforeRun(){}},{key:"onAfterRun",value:function onAfterRun(){}},{key:"onBeforeApply",value:function onBeforeApply(){}},{key:"onAfterApply",value:function onAfterApply(){}},{key:"onCatchApply",value:function onCatchApply(C){}}],[{key:"getInstanceType",value:function getInstanceType(){return"CommandInfra"}},{key:"getInfo",value:function getInfo(){return{}}},{key:"getCommand",value:function getCommand(){return this.registerConfig.command}},{key:"getComponent",value:function getComponent(){return this.registerConfig.component}},{key:"setRegisterConfig",value:function setRegisterConfig(C){this.registerConfig=Object.freeze(C)}}]),CommandInfra}(G.default);T.default=Q,(0,H.default)(Q,"registerConfig",null)},25683:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.Close=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(Close,C);var T=_createSuper(Close);function Close(){return(0,W.default)(this,Close),T.apply(this,arguments)}return(0,U.default)(Close,[{key:"apply",value:function apply(){this.component.close()}}]),Close}(q(B(83024)).default);T.Close=H;var G=H;T.default=G},53832:(C,T,B)=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0}),Object.defineProperty(T,"Close",{enumerable:!0,get:function get(){return q.Close}}),Object.defineProperty(T,"Open",{enumerable:!0,get:function get(){return W.Open}}),Object.defineProperty(T,"Toggle",{enumerable:!0,get:function get(){return U.Toggle}});var q=B(25683),W=B(57273),U=B(7493)},57273:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.Open=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(Open,C);var T=_createSuper(Open);function Open(){return(0,W.default)(this,Open),T.apply(this,arguments)}return(0,U.default)(Open,[{key:"apply",value:function apply(){$e.route(this.component.getNamespace())}}]),Open}(q(B(83024)).default);T.Open=H;var G=H;T.default=G},7493:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.Toggle=void 0;var W=q(B(78983)),U=q(B(42081)),L=q(B(58724)),$=q(B(71173)),V=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,V.default)(C);if(T){var W=(0,V.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,$.default)(this,B)}}var H=function(C){(0,L.default)(Toggle,C);var T=_createSuper(Toggle);function Toggle(){return(0,W.default)(this,Toggle),T.apply(this,arguments)}return(0,U.default)(Toggle,[{key:"apply",value:function apply(){this.component.isOpen?this.component.close():$e.route(this.component.getNamespace())}}]),Toggle}(q(B(83024)).default);T.Toggle=H;var G=H;T.default=G},19263:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(93231)),U=q(B(40131)),L=q(B(78983)),$=q(B(42081)),V=q(B(58724)),H=q(B(71173)),G=q(B(74910)),K=q(B(46867)),Q=B(71177),J=q(B(1192)),X=q(B(40647)),Y=q(B(70170));function ownKeys(C,T){var B=Object.keys(C);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(C);T&&(q=q.filter((function(T){return Object.getOwnPropertyDescriptor(C,T).enumerable}))),B.push.apply(B,q)}return B}function _objectSpread(C){for(var T=1;T0&&void 0!==arguments[0]?arguments[0]:{};C.manager&&(this.manager=C.manager),this.commands=this.defaultCommands(),this.commandsInternal=this.defaultCommandsInternal(),this.hooks=this.defaultHooks(),this.routes=this.defaultRoutes(),this.tabs=this.defaultTabs(),this.shortcuts=this.defaultShortcuts(),this.utils=this.defaultUtils(),this.data=this.defaultData(),this.uiStates=this.defaultUiStates(),this.states=this.defaultStates(),this.defaultRoute="",this.currentTab=""}},{key:"registerAPI",value:function registerAPI(){var C=this;Object.entries(this.getTabs()).forEach((function(T){return C.registerTabRoute(T[0])})),Object.entries(this.getRoutes()).forEach((function(T){var B=(0,U.default)(T,2),q=B[0],W=B[1];return C.registerRoute(q,W)})),Object.entries(this.getCommands()).forEach((function(T){var B=(0,U.default)(T,2),q=B[0],W=B[1];return C.registerCommand(q,W)})),Object.entries(this.getCommandsInternal()).forEach((function(T){var B=(0,U.default)(T,2),q=B[0],W=B[1];return C.registerCommandInternal(q,W)})),Object.values(this.getHooks()).forEach((function(T){return C.registerHook(T)})),Object.entries(this.getData()).forEach((function(T){var B=(0,U.default)(T,2),q=B[0],W=B[1];return C.registerData(q,W)})),Object.values(this.getUiStates()).forEach((function(T){return C.registerUiState(T)})),Object.entries(this.getStates()).forEach((function(T){var B=(0,U.default)(T,2),q=B[0],W=B[1];return C.registerState(q,W)}))}},{key:"getNamespace",value:function getNamespace(){(0,X.default)()}},{key:"getRootContainer",value:function getRootContainer(){return Y.default.deprecated("getRootContainer()","3.7.0","getServiceName()"),this.getServiceName()}},{key:"getServiceName",value:function getServiceName(){return this.getNamespace().split("/")[0]}},{key:"store",get:function get(){return $e.store.get(this.getNamespace())}},{key:"defaultTabs",value:function defaultTabs(){return{}}},{key:"defaultRoutes",value:function defaultRoutes(){return{}}},{key:"defaultCommands",value:function defaultCommands(){return{}}},{key:"defaultCommandsInternal",value:function defaultCommandsInternal(){return{}}},{key:"defaultHooks",value:function defaultHooks(){return{}}},{key:"defaultUiStates",value:function defaultUiStates(){return{}}},{key:"defaultStates",value:function defaultStates(){return{}}},{key:"defaultShortcuts",value:function defaultShortcuts(){return{}}},{key:"defaultUtils",value:function defaultUtils(){return{}}},{key:"defaultData",value:function defaultData(){return{}}},{key:"getCommands",value:function getCommands(){return this.commands}},{key:"getCommandsInternal",value:function getCommandsInternal(){return this.commandsInternal}},{key:"getHooks",value:function getHooks(){return this.hooks}},{key:"getUiStates",value:function getUiStates(){return this.uiStates}},{key:"getStates",value:function getStates(){return this.states}},{key:"getRoutes",value:function getRoutes(){return this.routes}},{key:"getTabs",value:function getTabs(){return this.tabs}},{key:"getShortcuts",value:function getShortcuts(){return this.shortcuts}},{key:"getData",value:function getData(){return this.data}},{key:"registerCommand",value:function registerCommand(C,T){var B;switch(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"default"){case"default":B=$e.commands;break;case"internal":B=$e.commandsInternal;break;case"data":B=$e.data;break;default:throw new Error("Invalid commands type: '".concat(C,"'"))}var q=this.getNamespace()+"/"+C,W={command:q,component:this};!!T.getInstanceType&&T.getInstanceType()||($e.devTools&&$e.devTools.log.warn("Attach command-callback-base, on command: '".concat(q,"', context is unknown type.")),W.callback=T,T=function(C){(0,V.default)(context,C);var T=_createSuper(context);function context(){return(0,L.default)(this,context),T.apply(this,arguments)}return(0,$.default)(context)}(K.default)),T.setRegisterConfig(W),B.register(this,C,T)}},{key:"registerHook",value:function registerHook(C){return C.register()}},{key:"registerCommandInternal",value:function registerCommandInternal(C,T){this.registerCommand(C,T,"internal")}},{key:"registerUiState",value:function registerUiState(C){$e.uiStates.register(C)}},{key:"registerState",value:function registerState(C,T){C=this.getNamespace()+(C?"/".concat(C):"");var B=(0,Q.createSlice)(_objectSpread(_objectSpread({},T),{},{name:C}));$e.store.register(C,B)}},{key:"registerRoute",value:function registerRoute(C,T){$e.routes.register(this,C,T)}},{key:"registerData",value:function registerData(C,T){this.registerCommand(C,T,"data")}},{key:"unregisterRoute",value:function unregisterRoute(C){$e.routes.unregister(this,C)}},{key:"registerTabRoute",value:function registerTabRoute(C){var T=this;this.registerRoute(C,(function(B){return T.activateTab(C,B)}))}},{key:"dependency",value:function dependency(){return!0}},{key:"open",value:function open(){return!0}},{key:"close",value:function close(){return!!this.isOpen&&(this.isOpen=!1,this.inactivate(),$e.routes.clearCurrent(this.getNamespace()),$e.routes.clearHistory(this.getServiceName()),!0)}},{key:"activate",value:function activate(){$e.components.activate(this.getNamespace())}},{key:"inactivate",value:function inactivate(){$e.components.inactivate(this.getNamespace())}},{key:"isActive",value:function isActive(){return $e.components.isActive(this.getNamespace())}},{key:"onRoute",value:function onRoute(C){this.toggleRouteClass(C,!0),this.toggleHistoryClass(),this.activate(),this.trigger("route/open",C)}},{key:"onCloseRoute",value:function onCloseRoute(C){this.toggleRouteClass(C,!1),this.inactivate(),this.trigger("route/close",C)}},{key:"setDefaultRoute",value:function setDefaultRoute(C){this.defaultRoute=this.getNamespace()+"/"+C}},{key:"getDefaultRoute",value:function getDefaultRoute(){return this.defaultRoute}},{key:"removeTab",value:function removeTab(C){delete this.tabs[C],this.unregisterRoute(C)}},{key:"hasTab",value:function hasTab(C){return!!this.tabs[C]}},{key:"addTab",value:function addTab(C,T,B){var q=this;if(this.tabs[C]=T,void 0!==B){var W={},U=Object.keys(this.tabs);U.pop(),U.splice(B,0,C),U.forEach((function(C){W[C]=q.tabs[C]})),this.tabs=W}this.registerTabRoute(C)}},{key:"getTabsWrapperSelector",value:function getTabsWrapperSelector(){return""}},{key:"getTabRoute",value:function getTabRoute(C){return this.getNamespace()+"/"+C}},{key:"renderTab",value:function renderTab(C){}},{key:"activateTab",value:function activateTab(C,T){var B=this;this.renderTab(C,T),jQuery(this.getTabsWrapperSelector()+" .elementor-component-tab").off("click").on("click",(function(C){$e.route(B.getTabRoute(C.currentTarget.dataset.tab),T)})).removeClass("elementor-active").filter('[data-tab="'+C+'"]').addClass("elementor-active")}},{key:"getActiveTabConfig",value:function getActiveTabConfig(){return this.tabs[this.currentTab]||{}}},{key:"getBodyClass",value:function getBodyClass(C){return"e-route-"+C.replace(/\//g,"-")}},{key:"normalizeCommandName",value:function normalizeCommandName(C){return C.replace(/[A-Z]/g,(function(C,T){return(T>0?"-":"")+C.toLowerCase()}))}},{key:"importCommands",value:function importCommands(C){var T=this,B={};return Object.entries(C).forEach((function(C){var q=(0,U.default)(C,2),W=q[0],L=q[1],$=T.normalizeCommandName(W);B[$]=L})),B}},{key:"importHooks",value:function importHooks(C){var T={};for(var B in C){var q=new C[B];T[q.getId()]=q}return T}},{key:"importUiStates",value:function importUiStates(C){var T=this,B={};return Object.values(C).forEach((function(C){var q=new C(T);B[q.getId()]=q})),B}},{key:"setUiState",value:function setUiState(C,T){$e.uiStates.set("".concat(this.getNamespace(),"/").concat(C),T)}},{key:"toggleRouteClass",value:function toggleRouteClass(C,T){document.body.classList.toggle(this.getBodyClass(C),T)}},{key:"toggleHistoryClass",value:function toggleHistoryClass(){document.body.classList.toggle("e-routes-has-history",!!$e.routes.getHistory(this.getServiceName()).length)}}]),ComponentBase}(J.default);T.default=Z},19076:(C,T,B)=>{"use strict";var q=B(73203),W=B(7501);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var U=q(B(78983)),L=q(B(42081)),$=q(B(51121)),V=q(B(58724)),H=q(B(71173)),G=q(B(74910)),K=q(B(19263)),Q=function _interopRequireWildcard(C,T){if(!T&&C&&C.__esModule)return C;if(null===C||"object"!==W(C)&&"function"!=typeof C)return{default:C};var B=_getRequireWildcardCache(T);if(B&&B.has(C))return B.get(C);var q={},U=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var L in C)if("default"!==L&&Object.prototype.hasOwnProperty.call(C,L)){var $=U?Object.getOwnPropertyDescriptor(C,L):null;$&&($.get||$.set)?Object.defineProperty(q,L,$):q[L]=C[L]}q.default=C,B&&B.set(C,q);return q}(B(53832)),J=q(B(40647));function _getRequireWildcardCache(C){if("function"!=typeof WeakMap)return null;var T=new WeakMap,B=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(C){return C?B:T})(C)}function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,G.default)(C);if(T){var W=(0,G.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,H.default)(this,B)}}var X=function(C){(0,V.default)(ComponentModalBase,C);var T=_createSuper(ComponentModalBase);function ComponentModalBase(){return(0,U.default)(this,ComponentModalBase),T.apply(this,arguments)}return(0,L.default)(ComponentModalBase,[{key:"registerAPI",value:function registerAPI(){var C=this;(0,$.default)((0,G.default)(ComponentModalBase.prototype),"registerAPI",this).call(this),$e.shortcuts.register("esc",{scopes:[this.getNamespace()],callback:function callback(){return C.close()}})}},{key:"defaultCommands",value:function defaultCommands(){return this.importCommands(Q)}},{key:"defaultRoutes",value:function defaultRoutes(){return{"":function _(){}}}},{key:"open",value:function open(){var C=this;if(!this.layout){var T=this.getModalLayout();this.layout=new T({component:this}),this.layout.getModal().on("hide",(function(){return C.close()}))}return this.layout.showModal(),!0}},{key:"close",value:function close(){return!!(0,$.default)((0,G.default)(ComponentModalBase.prototype),"close",this).call(this)&&(this.layout.getModal().hide(),!0)}},{key:"getModalLayout",value:function getModalLayout(){(0,J.default)()}}]),ComponentModalBase}(K.default);T.default=X},17341:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(78983)),U=q(B(42081)),L=function(){function Console(){(0,W.default)(this,Console)}return(0,U.default)(Console,null,[{key:"error",value:function error(C){$e.devTools&&$e.devTools.log.error(C),C instanceof $e.modules.HookBreak||console.error(C)}},{key:"warn",value:function warn(){for(var C,T='font-size: 12px; background-image: url("'.concat(elementorWebCliConfig.urls.assets,'images/logo-icon.png"); background-repeat: no-repeat; background-size: contain;'),B=arguments.length,q=new Array(B),W=0;W{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=void 0;var W=q(B(40131)),U=q(B(78983)),L=q(B(42081)),$=q(B(17341)),V=function deprecatedMessage(C,T,B,q){var W="`".concat(T,"` is ").concat(C," deprecated since ").concat(B);q&&(W+=" - Use `".concat(q,"` instead")),$.default.warn(W)},H=function(){function Deprecation(){(0,U.default)(this,Deprecation)}return(0,L.default)(Deprecation,null,[{key:"deprecated",value:function deprecated(C,T,B){this.isHardDeprecated(T)?function hardDeprecated(C,T,B){V("hard",C,T,B)}(C,T,B):function softDeprecated(C,T,B){elementorWebCliConfig.isDebug&&V("soft",C,T,B)}(C,T,B)}},{key:"parseVersion",value:function parseVersion(C){var T=C.split(".");if(T.length<3||T.length>4)throw new RangeError("Invalid Semantic Version string provided");var B=(0,W.default)(T,4),q=B[0],U=B[1],L=B[2],$=B[3],V=void 0===$?"":$;return{major1:parseInt(q),major2:parseInt(U),minor:parseInt(L),build:V}}},{key:"getTotalMajor",value:function getTotalMajor(C){var T=parseInt("".concat(C.major1).concat(C.major2,"0"));return T=Number((T/10).toFixed(0)),C.major2>9&&(T=C.major2-9),T}},{key:"compareVersion",value:function compareVersion(C,T){var B=this;return[this.parseVersion(C),this.parseVersion(T)].map((function(C){return B.getTotalMajor(C)})).reduce((function(C,T){return C-T}))}},{key:"isSoftDeprecated",value:function isSoftDeprecated(C){return this.compareVersion(C,elementorWebCliConfig.version)<=4}},{key:"isHardDeprecated",value:function isHardDeprecated(C){var T=this.compareVersion(C,elementorWebCliConfig.version);return T<0||T>=8}}]),Deprecation}();T.default=H},40647:(C,T,B)=>{"use strict";var q=B(73203);Object.defineProperty(T,"__esModule",{value:!0}),T.default=T.ForceMethodImplementation=void 0;var W=q(B(42081)),U=q(B(78983)),L=q(B(77266)),$=q(B(58724)),V=q(B(71173)),H=q(B(74910));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,H.default)(C);if(T){var W=(0,H.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,V.default)(this,B)}}var G=function(C){(0,$.default)(ForceMethodImplementation,C);var T=_createSuper(ForceMethodImplementation);function ForceMethodImplementation(){var C,B=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,U.default)(this,ForceMethodImplementation),C=T.call(this,"".concat(B.isStatic?"static ":"").concat(B.fullName,"() should be implemented, please provide '").concat(B.functionName||B.fullName,"' functionality.")),Error.captureStackTrace((0,L.default)(C),ForceMethodImplementation),C}return(0,W.default)(ForceMethodImplementation)}((0,q(B(19952)).default)(Error));T.ForceMethodImplementation=G;T.default=function _default(){var C=Error().stack.split("\n")[2].trim(),T=C.startsWith("at new")?"constructor":C.split(" ")[1],B={};if(B.functionName=T,B.fullName=T,B.functionName.includes(".")){var q=B.functionName.split(".");B.className=q[0],B.functionName=q[1]}else B.isStatic=!0;throw new G(B)}},38003:C=>{"use strict";C.exports=wp.i18n},98106:C=>{C.exports=function _arrayLikeToArray(C,T){(null==T||T>C.length)&&(T=C.length);for(var B=0,q=new Array(T);B{C.exports=function _arrayWithHoles(C){if(Array.isArray(C))return C},C.exports.__esModule=!0,C.exports.default=C.exports},77266:C=>{C.exports=function _assertThisInitialized(C){if(void 0===C)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C},C.exports.__esModule=!0,C.exports.default=C.exports},10029:C=>{function asyncGeneratorStep(C,T,B,q,W,U,L){try{var $=C[U](L),V=$.value}catch(C){return void B(C)}$.done?T(V):Promise.resolve(V).then(q,W)}C.exports=function _asyncToGenerator(C){return function(){var T=this,B=arguments;return new Promise((function(q,W){var U=C.apply(T,B);function _next(C){asyncGeneratorStep(U,q,W,_next,_throw,"next",C)}function _throw(C){asyncGeneratorStep(U,q,W,_next,_throw,"throw",C)}_next(void 0)}))}},C.exports.__esModule=!0,C.exports.default=C.exports},78983:C=>{C.exports=function _classCallCheck(C,T){if(!(C instanceof T))throw new TypeError("Cannot call a class as a function")},C.exports.__esModule=!0,C.exports.default=C.exports},76824:(C,T,B)=>{var q=B(96196),W=B(14161);C.exports=function _construct(C,T,B){if(W())return Reflect.construct.apply(null,arguments);var U=[null];U.push.apply(U,T);var L=new(C.bind.apply(C,U));return B&&q(L,B.prototype),L},C.exports.__esModule=!0,C.exports.default=C.exports},42081:(C,T,B)=>{var q=B(74040);function _defineProperties(C,T){for(var B=0;B{var q=B(74040);C.exports=function _defineProperty(C,T,B){return(T=q(T))in C?Object.defineProperty(C,T,{value:B,enumerable:!0,configurable:!0,writable:!0}):C[T]=B,C},C.exports.__esModule=!0,C.exports.default=C.exports},51121:(C,T,B)=>{var q=B(79443);function _get(){return"undefined"!=typeof Reflect&&Reflect.get?(C.exports=_get=Reflect.get.bind(),C.exports.__esModule=!0,C.exports.default=C.exports):(C.exports=_get=function _get(C,T,B){var W=q(C,T);if(W){var U=Object.getOwnPropertyDescriptor(W,T);return U.get?U.get.call(arguments.length<3?C:B):U.value}},C.exports.__esModule=!0,C.exports.default=C.exports),_get.apply(this,arguments)}C.exports=_get,C.exports.__esModule=!0,C.exports.default=C.exports},74910:C=>{function _getPrototypeOf(T){return C.exports=_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(C){return C.__proto__||Object.getPrototypeOf(C)},C.exports.__esModule=!0,C.exports.default=C.exports,_getPrototypeOf(T)}C.exports=_getPrototypeOf,C.exports.__esModule=!0,C.exports.default=C.exports},58724:(C,T,B)=>{var q=B(96196);C.exports=function _inherits(C,T){if("function"!=typeof T&&null!==T)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(T&&T.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),Object.defineProperty(C,"prototype",{writable:!1}),T&&q(C,T)},C.exports.__esModule=!0,C.exports.default=C.exports},73203:C=>{C.exports=function _interopRequireDefault(C){return C&&C.__esModule?C:{default:C}},C.exports.__esModule=!0,C.exports.default=C.exports},94346:C=>{C.exports=function _isNativeFunction(C){try{return-1!==Function.toString.call(C).indexOf("[native code]")}catch(T){return"function"==typeof C}},C.exports.__esModule=!0,C.exports.default=C.exports},14161:C=>{function _isNativeReflectConstruct(){try{var T=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(T){}return(C.exports=_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!T},C.exports.__esModule=!0,C.exports.default=C.exports)()}C.exports=_isNativeReflectConstruct,C.exports.__esModule=!0,C.exports.default=C.exports},40608:C=>{C.exports=function _iterableToArrayLimit(C,T){var B=null==C?null:"undefined"!=typeof Symbol&&C[Symbol.iterator]||C["@@iterator"];if(null!=B){var q,W,U,L,$=[],V=!0,H=!1;try{if(U=(B=B.call(C)).next,0===T){if(Object(B)!==B)return;V=!1}else for(;!(V=(q=U.call(B)).done)&&($.push(q.value),$.length!==T);V=!0);}catch(C){H=!0,W=C}finally{try{if(!V&&null!=B.return&&(L=B.return(),Object(L)!==L))return}finally{if(H)throw W}}return $}},C.exports.__esModule=!0,C.exports.default=C.exports},56894:C=>{C.exports=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.")},C.exports.__esModule=!0,C.exports.default=C.exports},71173:(C,T,B)=>{var q=B(7501).default,W=B(77266);C.exports=function _possibleConstructorReturn(C,T){if(T&&("object"===q(T)||"function"==typeof T))return T;if(void 0!==T)throw new TypeError("Derived constructors may only return object or undefined");return W(C)},C.exports.__esModule=!0,C.exports.default=C.exports},21337:(C,T,B)=>{var q=B(7501).default;function _regeneratorRuntime(){"use strict";C.exports=_regeneratorRuntime=function _regeneratorRuntime(){return B},C.exports.__esModule=!0,C.exports.default=C.exports;var T,B={},W=Object.prototype,U=W.hasOwnProperty,L=Object.defineProperty||function(C,T,B){C[T]=B.value},$="function"==typeof Symbol?Symbol:{},V=$.iterator||"@@iterator",H=$.asyncIterator||"@@asyncIterator",G=$.toStringTag||"@@toStringTag";function define(C,T,B){return Object.defineProperty(C,T,{value:B,enumerable:!0,configurable:!0,writable:!0}),C[T]}try{define({},"")}catch(T){define=function define(C,T,B){return C[T]=B}}function wrap(C,T,B,q){var W=T&&T.prototype instanceof Generator?T:Generator,U=Object.create(W.prototype),$=new Context(q||[]);return L(U,"_invoke",{value:makeInvokeMethod(C,B,$)}),U}function tryCatch(C,T,B){try{return{type:"normal",arg:C.call(T,B)}}catch(C){return{type:"throw",arg:C}}}B.wrap=wrap;var K="suspendedStart",Q="suspendedYield",J="executing",X="completed",Y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var Z={};define(Z,V,(function(){return this}));var ee=Object.getPrototypeOf,te=ee&&ee(ee(values([])));te&&te!==W&&U.call(te,V)&&(Z=te);var re=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(Z);function defineIteratorMethods(C){["next","throw","return"].forEach((function(T){define(C,T,(function(C){return this._invoke(T,C)}))}))}function AsyncIterator(C,T){function invoke(B,W,L,$){var V=tryCatch(C[B],C,W);if("throw"!==V.type){var H=V.arg,G=H.value;return G&&"object"==q(G)&&U.call(G,"__await")?T.resolve(G.__await).then((function(C){invoke("next",C,L,$)}),(function(C){invoke("throw",C,L,$)})):T.resolve(G).then((function(C){H.value=C,L(H)}),(function(C){return invoke("throw",C,L,$)}))}$(V.arg)}var B;L(this,"_invoke",{value:function value(C,q){function callInvokeWithMethodAndArg(){return new T((function(T,B){invoke(C,q,T,B)}))}return B=B?B.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(C,B,q){var W=K;return function(U,L){if(W===J)throw new Error("Generator is already running");if(W===X){if("throw"===U)throw L;return{value:T,done:!0}}for(q.method=U,q.arg=L;;){var $=q.delegate;if($){var V=maybeInvokeDelegate($,q);if(V){if(V===Y)continue;return V}}if("next"===q.method)q.sent=q._sent=q.arg;else if("throw"===q.method){if(W===K)throw W=X,q.arg;q.dispatchException(q.arg)}else"return"===q.method&&q.abrupt("return",q.arg);W=J;var H=tryCatch(C,B,q);if("normal"===H.type){if(W=q.done?X:Q,H.arg===Y)continue;return{value:H.arg,done:q.done}}"throw"===H.type&&(W=X,q.method="throw",q.arg=H.arg)}}}function maybeInvokeDelegate(C,B){var q=B.method,W=C.iterator[q];if(W===T)return B.delegate=null,"throw"===q&&C.iterator.return&&(B.method="return",B.arg=T,maybeInvokeDelegate(C,B),"throw"===B.method)||"return"!==q&&(B.method="throw",B.arg=new TypeError("The iterator does not provide a '"+q+"' method")),Y;var U=tryCatch(W,C.iterator,B.arg);if("throw"===U.type)return B.method="throw",B.arg=U.arg,B.delegate=null,Y;var L=U.arg;return L?L.done?(B[C.resultName]=L.value,B.next=C.nextLoc,"return"!==B.method&&(B.method="next",B.arg=T),B.delegate=null,Y):L:(B.method="throw",B.arg=new TypeError("iterator result is not an object"),B.delegate=null,Y)}function pushTryEntry(C){var T={tryLoc:C[0]};1 in C&&(T.catchLoc=C[1]),2 in C&&(T.finallyLoc=C[2],T.afterLoc=C[3]),this.tryEntries.push(T)}function resetTryEntry(C){var T=C.completion||{};T.type="normal",delete T.arg,C.completion=T}function Context(C){this.tryEntries=[{tryLoc:"root"}],C.forEach(pushTryEntry,this),this.reset(!0)}function values(C){if(C||""===C){var B=C[V];if(B)return B.call(C);if("function"==typeof C.next)return C;if(!isNaN(C.length)){var W=-1,L=function next(){for(;++W=0;--q){var W=this.tryEntries[q],L=W.completion;if("root"===W.tryLoc)return handle("end");if(W.tryLoc<=this.prev){var $=U.call(W,"catchLoc"),V=U.call(W,"finallyLoc");if($&&V){if(this.prev=0;--B){var q=this.tryEntries[B];if(q.tryLoc<=this.prev&&U.call(q,"finallyLoc")&&this.prev=0;--T){var B=this.tryEntries[T];if(B.finallyLoc===C)return this.complete(B.completion,B.afterLoc),resetTryEntry(B),Y}},catch:function _catch(C){for(var T=this.tryEntries.length-1;T>=0;--T){var B=this.tryEntries[T];if(B.tryLoc===C){var q=B.completion;if("throw"===q.type){var W=q.arg;resetTryEntry(B)}return W}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(C,B,q){return this.delegate={iterator:values(C),resultName:B,nextLoc:q},"next"===this.method&&(this.arg=T),Y}},B}C.exports=_regeneratorRuntime,C.exports.__esModule=!0,C.exports.default=C.exports},96196:C=>{function _setPrototypeOf(T,B){return C.exports=_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(C,T){return C.__proto__=T,C},C.exports.__esModule=!0,C.exports.default=C.exports,_setPrototypeOf(T,B)}C.exports=_setPrototypeOf,C.exports.__esModule=!0,C.exports.default=C.exports},40131:(C,T,B)=>{var q=B(17358),W=B(40608),U=B(35068),L=B(56894);C.exports=function _slicedToArray(C,T){return q(C)||W(C,T)||U(C,T)||L()},C.exports.__esModule=!0,C.exports.default=C.exports},79443:(C,T,B)=>{var q=B(74910);C.exports=function _superPropBase(C,T){for(;!Object.prototype.hasOwnProperty.call(C,T)&&null!==(C=q(C)););return C},C.exports.__esModule=!0,C.exports.default=C.exports},56027:(C,T,B)=>{var q=B(7501).default;C.exports=function toPrimitive(C,T){if("object"!=q(C)||!C)return C;var B=C[Symbol.toPrimitive];if(void 0!==B){var W=B.call(C,T||"default");if("object"!=q(W))return W;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===T?String:Number)(C)},C.exports.__esModule=!0,C.exports.default=C.exports},74040:(C,T,B)=>{var q=B(7501).default,W=B(56027);C.exports=function toPropertyKey(C){var T=W(C,"string");return"symbol"==q(T)?T:String(T)},C.exports.__esModule=!0,C.exports.default=C.exports},7501:C=>{function _typeof(T){return C.exports=_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(C){return typeof C}:function(C){return C&&"function"==typeof Symbol&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},C.exports.__esModule=!0,C.exports.default=C.exports,_typeof(T)}C.exports=_typeof,C.exports.__esModule=!0,C.exports.default=C.exports},35068:(C,T,B)=>{var q=B(98106);C.exports=function _unsupportedIterableToArray(C,T){if(C){if("string"==typeof C)return q(C,T);var B=Object.prototype.toString.call(C).slice(8,-1);return"Object"===B&&C.constructor&&(B=C.constructor.name),"Map"===B||"Set"===B?Array.from(C):"Arguments"===B||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B)?q(C,T):void 0}},C.exports.__esModule=!0,C.exports.default=C.exports},19952:(C,T,B)=>{var q=B(74910),W=B(96196),U=B(94346),L=B(76824);function _wrapNativeSuper(T){var B="function"==typeof Map?new Map:void 0;return C.exports=_wrapNativeSuper=function _wrapNativeSuper(C){if(null===C||!U(C))return C;if("function"!=typeof C)throw new TypeError("Super expression must either be null or a function");if(void 0!==B){if(B.has(C))return B.get(C);B.set(C,Wrapper)}function Wrapper(){return L(C,arguments,q(this).constructor)}return Wrapper.prototype=Object.create(C.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),W(Wrapper,C)},C.exports.__esModule=!0,C.exports.default=C.exports,_wrapNativeSuper(T)}C.exports=_wrapNativeSuper,C.exports.__esModule=!0,C.exports.default=C.exports},50824:(C,T,B)=>{var q=B(21337)();C.exports=q;try{regeneratorRuntime=q}catch(C){"object"==typeof globalThis?globalThis.regeneratorRuntime=q:Function("r","regeneratorRuntime = r")(q)}}},T={};function __webpack_require__(B){var q=T[B];if(void 0!==q)return q.exports;var W=T[B]={exports:{}};return C[B](W,W.exports,__webpack_require__),W.exports}__webpack_require__.d=(C,T)=>{for(var B in T)__webpack_require__.o(T,B)&&!__webpack_require__.o(C,B)&&Object.defineProperty(C,B,{enumerable:!0,get:T[B]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(C){if("object"==typeof window)return window}}(),__webpack_require__.o=(C,T)=>Object.prototype.hasOwnProperty.call(C,T),__webpack_require__.r=C=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})},(()=>{"use strict";var C=__webpack_require__(73203),T=C(__webpack_require__(78983)),B=C(__webpack_require__(42081)),q=C(__webpack_require__(51121)),W=C(__webpack_require__(58724)),U=C(__webpack_require__(71173)),L=C(__webpack_require__(74910)),$=C(__webpack_require__(90287)),V=C(__webpack_require__(35107)),H=C(__webpack_require__(52253)),G=C(__webpack_require__(22998)),K=C(__webpack_require__(36614)),Q=C(__webpack_require__(57100)),J=C(__webpack_require__(13450)),X=C(__webpack_require__(26231)),Y=C(__webpack_require__(62879)),Z=C(__webpack_require__(99956));function _createSuper(C){var T=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(C){return!1}}();return function _createSuperInternal(){var B,q=(0,L.default)(C);if(T){var W=(0,L.default)(this).constructor;B=Reflect.construct(q,arguments,W)}else B=q.apply(this,arguments);return(0,U.default)(this,B)}}var ee=function(C){(0,W.default)(ElementorCommonApp,C);var U=_createSuper(ElementorCommonApp);function ElementorCommonApp(){return(0,T.default)(this,ElementorCommonApp),U.apply(this,arguments)}return(0,B.default)(ElementorCommonApp,[{key:"setMarionetteTemplateCompiler",value:function setMarionetteTemplateCompiler(){Marionette.TemplateCache.prototype.compileTemplate=function(C,T){return T={evaluate:/<#([\s\S]+?)#>/g,interpolate:/{{{([\s\S]+?)}}}/g,escape:/{{([^}]+?)}}(?!})/g},_.template(C,T)}}},{key:"getDefaultElements",value:function getDefaultElements(){return{$window:jQuery(window),$document:jQuery(document),$body:jQuery(document.body)}}},{key:"initComponents",value:function initComponents(){this.events=new Y.default,this.debug=new H.default,this.helpers=new $.default,this.storage=new V.default,this.dialogsManager=new DialogsManager.Instance,this.notifications=new Z.default,this.api=window.$e,$e.components.register(new X.default),elementorCommon.elements.$window.on("elementor:init-components",(function(){$e.components.register(new J.default)})),this.initModules()}},{key:"initModules",value:function initModules(){var C=this,T=this.config.activeModules,B={ajax:G.default,finder:K.default,connect:Q.default};T.forEach((function(T){B[T]&&(C[T]=new B[T](C.config[T]))}))}},{key:"compileArrayTemplateArgs",value:function compileArrayTemplateArgs(C,T){return C.replace(/%(?:(\d+)\$)?s/g,(function(C,B){return B||(B=1),B--,void 0!==T[B]?T[B]:C}))}},{key:"compileObjectTemplateArgs",value:function compileObjectTemplateArgs(C,T){return C.replace(/{{(?:([ \w]+))}}/g,(function(C,B){return T[B]?T[B]:C}))}},{key:"compileTemplate",value:function compileTemplate(C,T){return jQuery.isPlainObject(T)?this.compileObjectTemplateArgs(C,T):this.compileArrayTemplateArgs(C,T)}},{key:"translate",value:function translate(C,T,B,q){T&&(q=this.config[T].i18n),q||(q=this.config.i18n);var W=q[C];return void 0===W&&(W=C),B&&(W=this.compileTemplate(W,B)),W}},{key:"onInit",value:function onInit(){(0,q.default)((0,L.default)(ElementorCommonApp.prototype),"onInit",this).call(this),this.config=elementorCommonConfig,this.setMarionetteTemplateCompiler()}}]),ElementorCommonApp}(elementorModules.ViewModule);window.elementorCommon=new ee,elementorCommon.initComponents()})()})();#wpforms-notifications{background:#ffffff 0 0 no-repeat padding-box;box-shadow:0 2px 4px 0 rgba(0,0,0,0.05);border-radius:6px;opacity:1;min-height:48px;margin:0 0 20px 0}#wpforms-notifications *{box-sizing:border-box}#wpforms-notifications .wpforms-notifications-header{display:flex;align-items:center;padding:10px 15px;border-bottom:1px solid #dcdcde}#wpforms-notifications .wpforms-notifications-header .wpforms-notifications-bell{position:relative;width:16px;height:20px;top:3px;margin-inline-end:10px}#wpforms-notifications .wpforms-notifications-header .wpforms-notifications-bell svg{fill:#a7aaad}#wpforms-notifications .wpforms-notifications-header .wpforms-notifications-circle{position:absolute;width:11px;height:11px;border-radius:50%;top:-4px;right:-1px;border:2px solid #ffffff;background-color:#d63638}#wpforms-notifications .wpforms-notifications-header .wpforms-notifications-title{font-size:14px;font-weight:600;font-style:normal;line-height:1;color:#2c3338}#wpforms-notifications .wpforms-notifications-body{position:relative}#wpforms-notifications .wpforms-notifications-messages{padding-block:15px;padding-inline:15px 100px}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-message{display:none}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-message.current{display:block}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-title{color:#2c3338;font-size:17px;font-weight:600;line-height:25px;margin:0}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-content{font-size:14px;font-weight:400;line-height:20px;margin:5px 0 15px 0;color:#50575e}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-content p{font-size:inherit;line-height:inherit;margin:0}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-content p+p{margin-top:10px}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-buttons{margin-block:0;margin-inline:0 80px}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-buttons a{margin-block:0;margin-inline:0 10px;min-height:unset}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-buttons .button-secondary{background-color:#f6f7f7;border-color:#056aab;color:#056aab}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-buttons .button-secondary:hover,#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-buttons .button-secondary:active,#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-buttons .button-secondary:focus{background-color:#f0f0f1;border-color:#04558a;color:#04558a}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-buttons .button-secondary:focus{box-shadow:0 0 0 1px #04558a}#wpforms-notifications .wpforms-notifications-badge{display:inline-flex;justify-content:center;align-items:center;gap:5px;padding:6px 8px;margin-left:10px;border-radius:3px;background-color:#f6f6f6;color:#50575e;font-size:11px;font-weight:700;line-height:1;text-decoration:none;text-transform:uppercase}#wpforms-notifications .wpforms-notifications-badge svg{width:15px;height:13px}#wpforms-notifications .wpforms-notifications-badge:focus,#wpforms-notifications .wpforms-notifications-badge:hover{background-color:#f0f0f1;box-shadow:none}#wpforms-notifications .dismiss{position:absolute;top:15px;inset-inline-end:15px;width:14px;height:14px;fill:#a7aaad;cursor:pointer}#wpforms-notifications .dismiss:hover{fill:#d63638}#wpforms-notifications .navigation{position:absolute;bottom:15px;right:15px;width:64px;height:30px}#wpforms-notifications .navigation a{display:block;width:30px;height:30px;border:1px solid #7e8993;border-radius:3px;font-size:16px;line-height:1.625;text-align:center;cursor:pointer;background-color:#ffffff;color:#41454a}#wpforms-notifications .navigation a:hover{background-color:#f1f1f1}#wpforms-notifications .navigation .prev{float:left}#wpforms-notifications .navigation .next{float:right}#wpforms-notifications .navigation .disabled{border-color:#dddddd;color:#a0a5aa;cursor:default}#wpforms-notifications .navigation .disabled:hover{background-color:#ffffff}.lity-iframe .lity-content{margin:0 auto}@media screen and (max-width: 768px){#wpforms-notifications .wpforms-notifications-messages{padding-block:15px 10px;padding-inline:16px 50px}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-message .wpforms-notifications-title{line-height:22px;margin-block:0 -2px;margin-inline:0 30px;min-height:24px}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-message .wpforms-notifications-content{font-size:16px;line-height:22px}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-message .wpforms-notifications-buttons{margin:0;padding-inline-end:40px}#wpforms-notifications .wpforms-notifications-messages .wpforms-notifications-message .wpforms-notifications-buttons a.button{margin-bottom:10px}#wpforms-notifications .navigation{bottom:20px;right:20px}}.rtl #wpforms-notifications .navigation .prev{float:right}.rtl #wpforms-notifications .navigation .next{float:left} namespace Automattic\WooCommerce\StoreApi\Schemas\V1; /** * ProductAttributeSchema class. */ class ProductAttributeSchema extends AbstractSchema { /** * The schema item name. * * @var string */ protected $title = 'product_attribute'; /** * The schema item identifier. * * @var string */ const IDENTIFIER = 'product-attribute'; /** * Term properties. * * @return array */ public function get_properties() { return [ 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'woocommerce' ), 'type' => 'integer', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'name' => array( 'description' => __( 'Attribute name.', 'woocommerce' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'taxonomy' => array( 'description' => __( 'The attribute taxonomy name.', 'woocommerce' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'type' => array( 'description' => __( 'Attribute type.', 'woocommerce' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'order' => array( 'description' => __( 'How terms in this attribute are sorted by default.', 'woocommerce' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'has_archives' => array( 'description' => __( 'If this attribute has term archive pages.', 'woocommerce' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'count' => array( 'description' => __( 'Number of terms in the attribute taxonomy.', 'woocommerce' ), 'type' => 'integer', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), ]; } /** * Convert an attribute object into an object suitable for the response. * * @param object $attribute Attribute object. * @return array */ public function get_item_response( $attribute ) { return [ 'id' => (int) $attribute->id, 'name' => $this->prepare_html_response( $attribute->name ), 'taxonomy' => $attribute->slug, 'type' => $attribute->type, 'order' => $attribute->order_by, 'has_archives' => $attribute->has_archives, 'count' => (int) \wp_count_terms( $attribute->slug ), ]; } } namespace Automattic\WooCommerce\StoreApi\Routes\V1; use Automattic\WooCommerce\StoreApi\Exceptions\RouteException; /** * CartCouponsByCode class. */ class CartCouponsByCode extends AbstractCartRoute { /** * The route identifier. * * @var string */ const IDENTIFIER = 'cart-coupons-by-code'; /** * The routes schema. * * @var string */ const SCHEMA_TYPE = 'cart-coupon'; /** * Get the path of this REST route. * * @return string */ public function get_path() { return self::get_path_regex(); } /** * Get the path of this rest route. * * @return string */ public static function get_path_regex() { return '/cart/coupons/(?P[\w-]+)'; } /** * Get method arguments for this REST route. * * @return array An array of endpoints. */ public function get_args() { return [ 'args' => [ 'code' => [ 'description' => __( 'Unique identifier for the coupon within the cart.', 'woocommerce' ), 'type' => 'string', ], ], [ 'methods' => \WP_REST_Server::READABLE, 'callback' => [ $this, 'get_response' ], 'permission_callback' => '__return_true', 'args' => [ 'context' => $this->get_context_param( [ 'default' => 'view' ] ), ], ], [ 'methods' => \WP_REST_Server::DELETABLE, 'callback' => [ $this, 'get_response' ], 'permission_callback' => '__return_true', ], 'schema' => [ $this->schema, 'get_public_item_schema' ], 'allow_batch' => [ 'v1' => true ], ]; } /** * Get a single cart coupon. * * @throws RouteException On error. * @param \WP_REST_Request $request Request object. * @return \WP_REST_Response */ protected function get_route_response( \WP_REST_Request $request ) { if ( ! $this->cart_controller->has_coupon( $request['code'] ) ) { throw new RouteException( 'woocommerce_rest_cart_coupon_invalid_code', esc_html__( 'Coupon does not exist in the cart.', 'woocommerce' ), 404 ); } return $this->prepare_item_for_response( $request['code'], $request ); } /** * Delete a single cart coupon. * * @throws RouteException On error. * @param \WP_REST_Request $request Request object. * @return \WP_REST_Response */ protected function get_route_delete_response( \WP_REST_Request $request ) { if ( ! $this->cart_controller->has_coupon( $request['code'] ) ) { throw new RouteException( 'woocommerce_rest_cart_coupon_invalid_code', esc_html__( 'Coupon does not exist in the cart.', 'woocommerce' ), 404 ); } $cart = $this->cart_controller->get_cart_instance(); $cart->remove_coupon( $request['code'] ); return new \WP_REST_Response( null, 204 ); } } /** * Helper functions for interacting with the Store API. * * This file is autoloaded via composer.json. */ use Automattic\WooCommerce\StoreApi\StoreApi; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; if ( ! function_exists( 'woocommerce_store_api_register_endpoint_data' ) ) { /** * Register endpoint data under a specified namespace. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_endpoint_data() * * @param array $args Args to pass to register_endpoint_data. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_endpoint_data( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_endpoint_data( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_update_callback' ) ) { /** * Add callback functions that can be executed by the cart/extensions endpoint. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_update_callback() * * @param array $args Args to pass to register_update_callback. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_update_callback( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_update_callback( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_payment_requirements' ) ) { /** * Registers and validates payment requirements callbacks. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_payment_requirements() * * @param array $args Args to pass to register_payment_requirements. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_payment_requirements( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_payment_requirements( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_get_formatter' ) ) { /** * Returns a formatter instance. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::get_formatter() * * @param string $name Formatter name. * @return Automattic\WooCommerce\StoreApi\Formatters\FormatterInterface */ function woocommerce_store_api_get_formatter( $name ) { return StoreApi::container()->get( ExtendSchema::class )->get_formatter( $name ); } } /** * Internal dependencies */ import { ACTION_TYPES as types } from './action-types'; /** * Action creator for setting a single query-state value for a given context. * * @param {string} context Context for query state being stored. * @param {string} queryKey Key for query item. * @param {*} value The value for the query item. * * @return {Object} The action object. */ export const setQueryValue = ( context, queryKey, value ) => { return { type: types.SET_QUERY_KEY_VALUE, context, queryKey, value, }; }; /** * Action creator for setting query-state for a given context. * * @param {string} context Context for query state being stored. * @param {*} value Query state being stored for the given context. * * @return {Object} The action object. */ export const setValueForQueryContext = ( context, value ) => { return { type: types.SET_QUERY_CONTEXT_VALUE, context, value, }; }; /** * Deprecated functions * * Where functions come to die. * * @author Automattic * @category Core * @package WooCommerce\Functions * @version 3.3.0 */ use Automattic\Jetpack\Constants; use Automattic\WooCommerce\Internal\Admin\Logging\Settings; use Automattic\WooCommerce\Utilities\LoggingUtil; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Runs a deprecated action with notice only if used. * * @since 3.0.0 * @param string $tag The name of the action hook. * @param array $args Array of additional function arguments to be passed to do_action(). * @param string $version The version of WooCommerce that deprecated the hook. * @param string $replacement The hook that should have been used. * @param string $message A message regarding the change. */ function wc_do_deprecated_action( $tag, $args, $version, $replacement = null, $message = null ) { if ( ! has_action( $tag ) ) { return; } wc_deprecated_hook( $tag, $version, $replacement, $message ); do_action_ref_array( $tag, $args ); } /** * Wrapper for deprecated functions so we can apply some extra logic. * * @since 3.0.0 * @param string $function Function used. * @param string $version Version the message was added in. * @param string $replacement Replacement for the called function. */ function wc_deprecated_function( $function, $version, $replacement = null ) { // @codingStandardsIgnoreStart if ( wp_doing_ajax() || WC()->is_rest_api_request() ) { do_action( 'deprecated_function_run', $function, $replacement, $version ); $log_string = "The {$function} function is deprecated since version {$version}."; $log_string .= $replacement ? " Replace with {$replacement}." : ''; error_log( $log_string ); } else { _deprecated_function( $function, $version, $replacement ); } // @codingStandardsIgnoreEnd } /** * Wrapper for deprecated hook so we can apply some extra logic. * * @since 3.3.0 * @param string $hook The hook that was used. * @param string $version The version of WordPress that deprecated the hook. * @param string $replacement The hook that should have been used. * @param string $message A message regarding the change. */ function wc_deprecated_hook( $hook, $version, $replacement = null, $message = null ) { // @codingStandardsIgnoreStart if ( wp_doing_ajax() || WC()->is_rest_api_request() ) { do_action( 'deprecated_hook_run', $hook, $replacement, $version, $message ); $message = empty( $message ) ? '' : ' ' . $message; $log_string = "{$hook} is deprecated since version {$version}"; $log_string .= $replacement ? "! Use {$replacement} instead." : ' with no alternative available.'; error_log( $log_string . $message ); } else { _deprecated_hook( $hook, $version, $replacement, $message ); } // @codingStandardsIgnoreEnd } /** * When catching an exception, this allows us to log it if unexpected. * * @since 3.3.0 * @param Exception $exception_object The exception object. * @param string $function The function which threw exception. * @param array $args The args passed to the function. */ function wc_caught_exception( $exception_object, $function = '', $args = array() ) { // @codingStandardsIgnoreStart $message = $exception_object->getMessage(); $message .= '. Args: ' . print_r( $args, true ) . '.'; do_action( 'woocommerce_caught_exception', $exception_object, $function, $args ); error_log( "Exception caught in {$function}. {$message}." ); // @codingStandardsIgnoreEnd } /** * Wrapper for _doing_it_wrong(). * * @since 3.0.0 * @param string $function Function used. * @param string $message Message to log. * @param string $version Version the message was added in. */ function wc_doing_it_wrong( $function, $message, $version ) { // @codingStandardsIgnoreStart $message .= ' Backtrace: ' . wp_debug_backtrace_summary(); if ( wp_doing_ajax() || WC()->is_rest_api_request() ) { do_action( 'doing_it_wrong_run', $function, $message, $version ); error_log( "{$function} was called incorrectly. {$message}. This message was added in version {$version}." ); } else { _doing_it_wrong( $function, $message, $version ); } // @codingStandardsIgnoreEnd } /** * Wrapper for deprecated arguments so we can apply some extra logic. * * @since 3.0.0 * @param string $argument * @param string $version * @param string $replacement */ function wc_deprecated_argument( $argument, $version, $message = null ) { if ( wp_doing_ajax() || WC()->is_rest_api_request() ) { do_action( 'deprecated_argument_run', $argument, $message, $version ); error_log( "The {$argument} argument is deprecated since version {$version}. {$message}" ); } else { _deprecated_argument( $argument, $version, $message ); } } /** * @deprecated 2.1 */ function woocommerce_show_messages() { wc_deprecated_function( 'woocommerce_show_messages', '2.1', 'wc_print_notices' ); wc_print_notices(); } /** * @deprecated 2.1 */ function woocommerce_weekend_area_js() { wc_deprecated_function( 'woocommerce_weekend_area_js', '2.1' ); } /** * @deprecated 2.1 */ function woocommerce_tooltip_js() { wc_deprecated_function( 'woocommerce_tooltip_js', '2.1' ); } /** * @deprecated 2.1 */ function woocommerce_datepicker_js() { wc_deprecated_function( 'woocommerce_datepicker_js', '2.1' ); } /** * @deprecated 2.1 */ function woocommerce_admin_scripts() { wc_deprecated_function( 'woocommerce_admin_scripts', '2.1' ); } /** * @deprecated 2.1 */ function woocommerce_create_page( $slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0 ) { wc_deprecated_function( 'woocommerce_create_page', '2.1', 'wc_create_page' ); return wc_create_page( $slug, $option, $page_title, $page_content, $post_parent ); } /** * @deprecated 2.1 */ function woocommerce_readfile_chunked( $file, $retbytes = true ) { wc_deprecated_function( 'woocommerce_readfile_chunked', '2.1', 'WC_Download_Handler::readfile_chunked()' ); return WC_Download_Handler::readfile_chunked( $file ); } /** * Formal total costs - format to the number of decimal places for the base currency. * * @access public * @param mixed $number * @deprecated 2.1 * @return string */ function woocommerce_format_total( $number ) { wc_deprecated_function( __FUNCTION__, '2.1', 'wc_format_decimal()' ); return wc_format_decimal( $number, wc_get_price_decimals(), false ); } /** * Get product name with extra details such as SKU price and attributes. Used within admin. * * @access public * @param WC_Product $product * @deprecated 2.1 * @return string */ function woocommerce_get_formatted_product_name( $product ) { wc_deprecated_function( __FUNCTION__, '2.1', 'WC_Product::get_formatted_name()' ); return $product->get_formatted_name(); } /** * Handle IPN requests for the legacy paypal gateway by calling gateways manually if needed. * * @access public */ function woocommerce_legacy_paypal_ipn() { if ( ! empty( $_GET['paypalListener'] ) && 'paypal_standard_IPN' === $_GET['paypalListener'] ) { WC()->payment_gateways(); do_action( 'woocommerce_api_wc_gateway_paypal' ); } } add_action( 'init', 'woocommerce_legacy_paypal_ipn' ); /** * @deprecated 3.0 */ function get_product( $the_product = false, $args = array() ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_product' ); return wc_get_product( $the_product, $args ); } /** * @deprecated 3.0 */ function woocommerce_protected_product_add_to_cart( $passed, $product_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_protected_product_add_to_cart' ); return wc_protected_product_add_to_cart( $passed, $product_id ); } /** * @deprecated 3.0 */ function woocommerce_empty_cart() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_empty_cart' ); wc_empty_cart(); } /** * @deprecated 3.0 */ function woocommerce_load_persistent_cart( $user_login, $user = 0 ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_load_persistent_cart' ); return wc_load_persistent_cart( $user_login, $user ); } /** * @deprecated 3.0 */ function woocommerce_add_to_cart_message( $product_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_add_to_cart_message' ); wc_add_to_cart_message( $product_id ); } /** * @deprecated 3.0 */ function woocommerce_clear_cart_after_payment() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_clear_cart_after_payment' ); wc_clear_cart_after_payment(); } /** * @deprecated 3.0 */ function woocommerce_cart_totals_subtotal_html() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_cart_totals_subtotal_html' ); wc_cart_totals_subtotal_html(); } /** * @deprecated 3.0 */ function woocommerce_cart_totals_shipping_html() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_cart_totals_shipping_html' ); wc_cart_totals_shipping_html(); } /** * @deprecated 3.0 */ function woocommerce_cart_totals_coupon_html( $coupon ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_cart_totals_coupon_html' ); wc_cart_totals_coupon_html( $coupon ); } /** * @deprecated 3.0 */ function woocommerce_cart_totals_order_total_html() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_cart_totals_order_total_html' ); wc_cart_totals_order_total_html(); } /** * @deprecated 3.0 */ function woocommerce_cart_totals_fee_html( $fee ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_cart_totals_fee_html' ); wc_cart_totals_fee_html( $fee ); } /** * @deprecated 3.0 */ function woocommerce_cart_totals_shipping_method_label( $method ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_cart_totals_shipping_method_label' ); return wc_cart_totals_shipping_method_label( $method ); } /** * @deprecated 3.0 */ function woocommerce_get_template_part( $slug, $name = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_template_part' ); wc_get_template_part( $slug, $name ); } /** * @deprecated 3.0 */ function woocommerce_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_template' ); wc_get_template( $template_name, $args, $template_path, $default_path ); } /** * @deprecated 3.0 */ function woocommerce_locate_template( $template_name, $template_path = '', $default_path = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_locate_template' ); return wc_locate_template( $template_name, $template_path, $default_path ); } /** * @deprecated 3.0 */ function woocommerce_mail( $to, $subject, $message, $headers = "Content-Type: text/html\r\n", $attachments = "" ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_mail' ); wc_mail( $to, $subject, $message, $headers, $attachments ); } /** * @deprecated 3.0 */ function woocommerce_disable_admin_bar( $show_admin_bar ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_disable_admin_bar' ); return wc_disable_admin_bar( $show_admin_bar ); } /** * @deprecated 3.0 */ function woocommerce_create_new_customer( $email, $username = '', $password = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_create_new_customer' ); return wc_create_new_customer( $email, $username, $password ); } /** * @deprecated 3.0 */ function woocommerce_set_customer_auth_cookie( $customer_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_set_customer_auth_cookie' ); wc_set_customer_auth_cookie( $customer_id ); } /** * @deprecated 3.0 */ function woocommerce_update_new_customer_past_orders( $customer_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_update_new_customer_past_orders' ); return wc_update_new_customer_past_orders( $customer_id ); } /** * @deprecated 3.0 */ function woocommerce_paying_customer( $order_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_paying_customer' ); wc_paying_customer( $order_id ); } /** * @deprecated 3.0 */ function woocommerce_customer_bought_product( $customer_email, $user_id, $product_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_customer_bought_product' ); return wc_customer_bought_product( $customer_email, $user_id, $product_id ); } /** * @deprecated 3.0 */ function woocommerce_customer_has_capability( $allcaps, $caps, $args ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_customer_has_capability' ); return wc_customer_has_capability( $allcaps, $caps, $args ); } /** * @deprecated 3.0 */ function woocommerce_sanitize_taxonomy_name( $taxonomy ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_sanitize_taxonomy_name' ); return wc_sanitize_taxonomy_name( $taxonomy ); } /** * @deprecated 3.0 */ function woocommerce_get_filename_from_url( $file_url ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_filename_from_url' ); return wc_get_filename_from_url( $file_url ); } /** * @deprecated 3.0 */ function woocommerce_get_dimension( $dim, $to_unit ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_dimension' ); return wc_get_dimension( $dim, $to_unit ); } /** * @deprecated 3.0 */ function woocommerce_get_weight( $weight, $to_unit ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_weight' ); return wc_get_weight( $weight, $to_unit ); } /** * @deprecated 3.0 */ function woocommerce_trim_zeros( $price ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_trim_zeros' ); return wc_trim_zeros( $price ); } /** * @deprecated 3.0 */ function woocommerce_round_tax_total( $tax ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_round_tax_total' ); return wc_round_tax_total( $tax ); } /** * @deprecated 3.0 */ function woocommerce_format_decimal( $number, $dp = false, $trim_zeros = false ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_format_decimal' ); return wc_format_decimal( $number, $dp, $trim_zeros ); } /** * @deprecated 3.0 */ function woocommerce_clean( $var ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_clean' ); return wc_clean( $var ); } /** * @deprecated 3.0 */ function woocommerce_array_overlay( $a1, $a2 ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_array_overlay' ); return wc_array_overlay( $a1, $a2 ); } /** * @deprecated 3.0 */ function woocommerce_price( $price, $args = array() ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_price' ); return wc_price( $price, $args ); } /** * @deprecated 3.0 */ function woocommerce_let_to_num( $size ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_let_to_num' ); return wc_let_to_num( $size ); } /** * @deprecated 3.0 */ function woocommerce_date_format() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_date_format' ); return wc_date_format(); } /** * @deprecated 3.0 */ function woocommerce_time_format() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_time_format' ); return wc_time_format(); } /** * @deprecated 3.0 */ function woocommerce_timezone_string() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_timezone_string' ); return wc_timezone_string(); } if ( ! function_exists( 'woocommerce_rgb_from_hex' ) ) { /** * @deprecated 3.0 */ function woocommerce_rgb_from_hex( $color ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_rgb_from_hex' ); return wc_rgb_from_hex( $color ); } } if ( ! function_exists( 'woocommerce_hex_darker' ) ) { /** * @deprecated 3.0 */ function woocommerce_hex_darker( $color, $factor = 30 ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_hex_darker' ); return wc_hex_darker( $color, $factor ); } } if ( ! function_exists( 'woocommerce_hex_lighter' ) ) { /** * @deprecated 3.0 */ function woocommerce_hex_lighter( $color, $factor = 30 ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_hex_lighter' ); return wc_hex_lighter( $color, $factor ); } } if ( ! function_exists( 'woocommerce_light_or_dark' ) ) { /** * @deprecated 3.0 */ function woocommerce_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_light_or_dark' ); return wc_light_or_dark( $color, $dark, $light ); } } if ( ! function_exists( 'woocommerce_format_hex' ) ) { /** * @deprecated 3.0 */ function woocommerce_format_hex( $hex ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_format_hex' ); return wc_format_hex( $hex ); } } /** * @deprecated 3.0 */ function woocommerce_get_order_id_by_order_key( $order_key ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_order_id_by_order_key' ); return wc_get_order_id_by_order_key( $order_key ); } /** * @deprecated 3.0 */ function woocommerce_downloadable_file_permission( $download_id, $product_id, $order ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_downloadable_file_permission' ); return wc_downloadable_file_permission( $download_id, $product_id, $order ); } /** * @deprecated 3.0 */ function woocommerce_downloadable_product_permissions( $order_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_downloadable_product_permissions' ); wc_downloadable_product_permissions( $order_id ); } /** * @deprecated 3.0 */ function woocommerce_add_order_item( $order_id, $item ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_add_order_item' ); return wc_add_order_item( $order_id, $item ); } /** * @deprecated 3.0 */ function woocommerce_delete_order_item( $item_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_delete_order_item' ); return wc_delete_order_item( $item_id ); } /** * @deprecated 3.0 */ function woocommerce_update_order_item_meta( $item_id, $meta_key, $meta_value, $prev_value = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_update_order_item_meta' ); return wc_update_order_item_meta( $item_id, $meta_key, $meta_value, $prev_value ); } /** * @deprecated 3.0 */ function woocommerce_add_order_item_meta( $item_id, $meta_key, $meta_value, $unique = false ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_add_order_item_meta' ); return wc_add_order_item_meta( $item_id, $meta_key, $meta_value, $unique ); } /** * @deprecated 3.0 */ function woocommerce_delete_order_item_meta( $item_id, $meta_key, $meta_value = '', $delete_all = false ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_delete_order_item_meta' ); return wc_delete_order_item_meta( $item_id, $meta_key, $meta_value, $delete_all ); } /** * @deprecated 3.0 */ function woocommerce_get_order_item_meta( $item_id, $key, $single = true ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_order_item_meta' ); return wc_get_order_item_meta( $item_id, $key, $single ); } /** * @deprecated 3.0 */ function woocommerce_cancel_unpaid_orders() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_cancel_unpaid_orders' ); wc_cancel_unpaid_orders(); } /** * @deprecated 3.0 */ function woocommerce_processing_order_count() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_processing_order_count' ); return wc_processing_order_count(); } /** * @deprecated 3.0 */ function woocommerce_get_page_id( $page ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_page_id' ); return wc_get_page_id( $page ); } /** * @deprecated 3.0 */ function woocommerce_get_endpoint_url( $endpoint, $value = '', $permalink = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_endpoint_url' ); return wc_get_endpoint_url( $endpoint, $value, $permalink ); } /** * @deprecated 3.0 */ function woocommerce_lostpassword_url( $url ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_lostpassword_url' ); return wc_lostpassword_url( $url ); } /** * @deprecated 3.0 */ function woocommerce_customer_edit_account_url() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_customer_edit_account_url' ); return wc_customer_edit_account_url(); } /** * @deprecated 3.0 */ function woocommerce_nav_menu_items( $items, $args ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_nav_menu_items' ); return wc_nav_menu_items( $items ); } /** * @deprecated 3.0 */ function woocommerce_nav_menu_item_classes( $menu_items, $args ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_nav_menu_item_classes' ); return wc_nav_menu_item_classes( $menu_items ); } /** * @deprecated 3.0 */ function woocommerce_list_pages( $pages ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_list_pages' ); return wc_list_pages( $pages ); } /** * @deprecated 3.0 */ function woocommerce_product_dropdown_categories( $args = array(), $deprecated_hierarchical = 1, $deprecated_show_uncategorized = 1, $deprecated_orderby = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_product_dropdown_categories' ); return wc_product_dropdown_categories( $args, $deprecated_hierarchical, $deprecated_show_uncategorized, $deprecated_orderby ); } /** * @deprecated 3.0 */ function woocommerce_walk_category_dropdown_tree( $a1 = '', $a2 = '', $a3 = '' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_walk_category_dropdown_tree' ); return wc_walk_category_dropdown_tree( $a1, $a2, $a3 ); } /** * @deprecated 3.0 */ function woocommerce_taxonomy_metadata_wpdbfix() { wc_deprecated_function( __FUNCTION__, '3.0' ); } /** * @deprecated 3.0 */ function wc_taxonomy_metadata_wpdbfix() { wc_deprecated_function( __FUNCTION__, '3.0' ); } /** * @deprecated 3.0 */ function woocommerce_order_terms( $the_term, $next_id, $taxonomy, $index = 0, $terms = null ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_reorder_terms' ); return wc_reorder_terms( $the_term, $next_id, $taxonomy, $index, $terms ); } /** * @deprecated 3.0 */ function woocommerce_set_term_order( $term_id, $index, $taxonomy, $recursive = false ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_set_term_order' ); return wc_set_term_order( $term_id, $index, $taxonomy, $recursive ); } /** * @deprecated 3.0 */ function woocommerce_terms_clauses( $clauses, $taxonomies, $args ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_terms_clauses' ); return wc_terms_clauses( $clauses, $taxonomies, $args ); } /** * @deprecated 3.0 */ function _woocommerce_term_recount( $terms, $taxonomy, $callback, $terms_are_term_taxonomy_ids ) { wc_deprecated_function( __FUNCTION__, '3.0', '_wc_term_recount' ); return _wc_term_recount( $terms, $taxonomy, $callback, $terms_are_term_taxonomy_ids ); } /** * @deprecated 3.0 */ function woocommerce_recount_after_stock_change( $product_id ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_recount_after_stock_change' ); return wc_recount_after_stock_change( $product_id ); } /** * @deprecated 3.0 */ function woocommerce_change_term_counts( $terms, $taxonomies, $args ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_change_term_counts' ); return wc_change_term_counts( $terms, $taxonomies ); } /** * @deprecated 3.0 */ function woocommerce_get_product_ids_on_sale() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_product_ids_on_sale' ); return wc_get_product_ids_on_sale(); } /** * @deprecated 3.0 */ function woocommerce_get_featured_product_ids() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_featured_product_ids' ); return wc_get_featured_product_ids(); } /** * @deprecated 3.0 */ function woocommerce_get_product_terms( $object_id, $taxonomy, $fields = 'all' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_product_terms' ); return wc_get_product_terms( $object_id, $taxonomy, array( 'fields' => $fields ) ); } /** * @deprecated 3.0 */ function woocommerce_product_post_type_link( $permalink, $post ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_product_post_type_link' ); return wc_product_post_type_link( $permalink, $post ); } /** * @deprecated 3.0 */ function woocommerce_placeholder_img_src() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_placeholder_img_src' ); return wc_placeholder_img_src(); } /** * @deprecated 3.0 */ function woocommerce_placeholder_img( $size = 'woocommerce_thumbnail' ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_placeholder_img' ); return wc_placeholder_img( $size ); } /** * @deprecated 3.0 */ function woocommerce_get_formatted_variation( $variation = '', $flat = false ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_formatted_variation' ); return wc_get_formatted_variation( $variation, $flat ); } /** * @deprecated 3.0 */ function woocommerce_scheduled_sales() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_scheduled_sales' ); return wc_scheduled_sales(); } /** * @deprecated 3.0 */ function woocommerce_get_attachment_image_attributes( $attr ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_get_attachment_image_attributes' ); return wc_get_attachment_image_attributes( $attr ); } /** * @deprecated 3.0 */ function woocommerce_prepare_attachment_for_js( $response ) { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_prepare_attachment_for_js' ); return wc_prepare_attachment_for_js( $response ); } /** * @deprecated 3.0 */ function woocommerce_track_product_view() { wc_deprecated_function( __FUNCTION__, '3.0', 'wc_track_product_view' ); return wc_track_product_view(); } /** * @deprecated 2.3 has no replacement */ function woocommerce_compile_less_styles() { wc_deprecated_function( 'woocommerce_compile_less_styles', '2.3' ); } /** * woocommerce_calc_shipping was an option used to determine if shipping was enabled prior to version 2.6.0. This has since been replaced with wc_shipping_enabled() function and * the woocommerce_ship_to_countries setting. * @deprecated 2.6.0 * @return string */ function woocommerce_calc_shipping_backwards_compatibility( $value ) { if ( Constants::is_defined( 'WC_UPDATING' ) ) { return $value; } return 'disabled' === get_option( 'woocommerce_ship_to_countries' ) ? 'no' : 'yes'; } add_filter( 'pre_option_woocommerce_calc_shipping', 'woocommerce_calc_shipping_backwards_compatibility' ); /** * @deprecated 3.0.0 * @see WC_Structured_Data class * * @return string */ function woocommerce_get_product_schema() { wc_deprecated_function( 'woocommerce_get_product_schema', '3.0' ); global $product; $schema = "Product"; // Downloadable product schema handling if ( $product->is_downloadable() ) { switch ( $product->download_type ) { case 'application' : $schema = "SoftwareApplication"; break; case 'music' : $schema = "MusicAlbum"; break; default : $schema = "Product"; break; } } return 'http://schema.org/' . $schema; } /** * Save product price. * * This is a private function (internal use ONLY) used until a data manipulation api is built. * * @deprecated 3.0.0 * @param int $product_id * @param float $regular_price * @param float $sale_price * @param string $date_from * @param string $date_to */ function _wc_save_product_price( $product_id, $regular_price, $sale_price = '', $date_from = '', $date_to = '' ) { wc_doing_it_wrong( '_wc_save_product_price()', 'This function is not for developer use and is deprecated.', '3.0' ); $product_id = absint( $product_id ); $regular_price = wc_format_decimal( $regular_price ); $sale_price = '' === $sale_price ? '' : wc_format_decimal( $sale_price ); $date_from = wc_clean( $date_from ); $date_to = wc_clean( $date_to ); update_post_meta( $product_id, '_regular_price', $regular_price ); update_post_meta( $product_id, '_sale_price', $sale_price ); // Save Dates update_post_meta( $product_id, '_sale_price_dates_from', $date_from ? strtotime( $date_from ) : '' ); update_post_meta( $product_id, '_sale_price_dates_to', $date_to ? strtotime( $date_to ) : '' ); if ( $date_to && ! $date_from ) { $date_from = strtotime( 'NOW', current_time( 'timestamp' ) ); update_post_meta( $product_id, '_sale_price_dates_from', $date_from ); } // Update price if on sale if ( '' !== $sale_price && '' === $date_to && '' === $date_from ) { update_post_meta( $product_id, '_price', $sale_price ); } else { update_post_meta( $product_id, '_price', $regular_price ); } if ( '' !== $sale_price && $date_from && strtotime( $date_from ) < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { update_post_meta( $product_id, '_price', $sale_price ); } if ( $date_to && strtotime( $date_to ) < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { update_post_meta( $product_id, '_price', $regular_price ); update_post_meta( $product_id, '_sale_price_dates_from', '' ); update_post_meta( $product_id, '_sale_price_dates_to', '' ); } } /** * Return customer avatar URL. * * @deprecated 3.1.0 * @since 2.6.0 * @param string $email the customer's email. * @return string the URL to the customer's avatar. */ function wc_get_customer_avatar_url( $email ) { // Deprecated in favor of WordPress get_avatar_url() function. wc_deprecated_function( 'wc_get_customer_avatar_url()', '3.1', 'get_avatar_url()' ); return get_avatar_url( $email ); } /** * WooCommerce Core Supported Themes. * * @deprecated 3.3.0 * @since 2.2 * @return string[] */ function wc_get_core_supported_themes() { wc_deprecated_function( 'wc_get_core_supported_themes()', '3.3' ); return array( 'twentyseventeen', 'twentysixteen', 'twentyfifteen', 'twentyfourteen', 'twentythirteen', 'twentyeleven', 'twentytwelve', 'twentyten' ); } /** * Get min/max price meta query args. * * @deprecated 3.6.0 * @since 3.0.0 * @param array $args Min price and max price arguments. * @return array */ function wc_get_min_max_price_meta_query( $args ) { wc_deprecated_function( 'wc_get_min_max_price_meta_query()', '3.6' ); $current_min_price = isset( $args['min_price'] ) ? floatval( $args['min_price'] ) : 0; $current_max_price = isset( $args['max_price'] ) ? floatval( $args['max_price'] ) : PHP_INT_MAX; return apply_filters( 'woocommerce_get_min_max_price_meta_query', array( 'key' => '_price', 'value' => array( $current_min_price, $current_max_price ), 'compare' => 'BETWEEN', 'type' => 'DECIMAL(10,' . wc_get_price_decimals() . ')', ), $args ); } /** * When a term is split, ensure meta data maintained. * * @deprecated 3.6.0 * @param int $old_term_id Old term ID. * @param int $new_term_id New term ID. * @param string $term_taxonomy_id Term taxonomy ID. * @param string $taxonomy Taxonomy. */ function wc_taxonomy_metadata_update_content_for_split_terms( $old_term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) { wc_deprecated_function( 'wc_taxonomy_metadata_update_content_for_split_terms', '3.6' ); } /** * WooCommerce Term Meta API. * * WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. * This function serves as a wrapper, using the new table if present, or falling back to the WC table. * * @deprecated 3.6.0 * @param int $term_id Term ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value. * @param string $prev_value Previous value. (default: ''). * @return bool */ function update_woocommerce_term_meta( $term_id, $meta_key, $meta_value, $prev_value = '' ) { wc_deprecated_function( 'update_woocommerce_term_meta', '3.6', 'update_term_meta' ); return function_exists( 'update_term_meta' ) ? update_term_meta( $term_id, $meta_key, $meta_value, $prev_value ) : update_metadata( 'woocommerce_term', $term_id, $meta_key, $meta_value, $prev_value ); } /** * WooCommerce Term Meta API. * * WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. * This function serves as a wrapper, using the new table if present, or falling back to the WC table. * * @deprecated 3.6.0 * @param int $term_id Term ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value. * @param bool $unique Make meta key unique. (default: false). * @return bool */ function add_woocommerce_term_meta( $term_id, $meta_key, $meta_value, $unique = false ) { wc_deprecated_function( 'add_woocommerce_term_meta', '3.6', 'add_term_meta' ); return function_exists( 'add_term_meta' ) ? add_term_meta( $term_id, $meta_key, $meta_value, $unique ) : add_metadata( 'woocommerce_term', $term_id, $meta_key, $meta_value, $unique ); } /** * WooCommerce Term Meta API * * WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. * This function serves as a wrapper, using the new table if present, or falling back to the WC table. * * @deprecated 3.6.0 * @param int $term_id Term ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value (default: ''). * @param bool $deprecated Deprecated param (default: false). * @return bool */ function delete_woocommerce_term_meta( $term_id, $meta_key, $meta_value = '', $deprecated = false ) { wc_deprecated_function( 'delete_woocommerce_term_meta', '3.6', 'delete_term_meta' ); return function_exists( 'delete_term_meta' ) ? delete_term_meta( $term_id, $meta_key, $meta_value ) : delete_metadata( 'woocommerce_term', $term_id, $meta_key, $meta_value ); } /** * WooCommerce Term Meta API * * WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. * This function serves as a wrapper, using the new table if present, or falling back to the WC table. * * @deprecated 3.6.0 * @param int $term_id Term ID. * @param string $key Meta key. * @param bool $single Whether to return a single value. (default: true). * @return mixed */ function get_woocommerce_term_meta( $term_id, $key, $single = true ) { wc_deprecated_function( 'get_woocommerce_term_meta', '3.6', 'get_term_meta' ); return function_exists( 'get_term_meta' ) ? get_term_meta( $term_id, $key, $single ) : get_metadata( 'woocommerce_term', $term_id, $key, $single ); } /** * Registers the default log handler. * * @deprecated 8.6.0 * @since 3.0 * @param array $handlers Handlers. * @return array */ function wc_register_default_log_handler( $handlers = array() ) { wc_deprecated_function( 'wc_register_default_log_handler', '8.6.0' ); $default_handler = wc_get_container()->get( Settings::class )->get_default_handler(); array_push( $handlers, new $default_handler() ); return $handlers; } /** * Get a log file path. * * @deprecated 8.6.0 * @since 2.2 * * @param string $handle name. * @return string the log file path. */ function wc_get_log_file_path( $handle ) { wc_deprecated_function( 'wc_get_log_file_path', '8.6.0' ); $directory = LoggingUtil::get_log_directory(); $file_id = LoggingUtil::generate_log_file_id( $handle, null, time() ); $hash = LoggingUtil::generate_log_file_hash( $file_id ); return "{$directory}{$file_id}-{$hash}.log"; } /** * Get a log file name. * * @since 3.3 * * @param string $handle Name. * @return string The log file name. */ function wc_get_log_file_name( $handle ) { wc_deprecated_function( 'wc_get_log_file_name', '8.6.0' ); $file_id = LoggingUtil::generate_log_file_id( $handle, null, time() ); $hash = LoggingUtil::generate_log_file_hash( $file_id ); return "{$file_id}-{$hash}"; } /** * Load the persistent cart. * * @param string $user_login User login. * @param WP_User $user User data. * @deprecated 2.3 */ function wc_load_persistent_cart( $user_login, $user ) { if ( ! $user || ! apply_filters( 'woocommerce_persistent_cart_enabled', true ) ) { return; } $saved_cart = get_user_meta( $user->ID, '_woocommerce_persistent_cart_' . get_current_blog_id(), true ); if ( ! $saved_cart ) { return; } $cart = WC()->session->cart; if ( empty( $cart ) || ! is_array( $cart ) || 0 === count( $cart ) ) { WC()->session->cart = $saved_cart['cart']; } } if ( ! function_exists( 'woocommerce_product_subcategories' ) ) { /** * This is a legacy function which used to check if we needed to display subcats and then output them. It was called by templates. * * From 3.3 onwards this is all handled via hooks and the woocommerce_maybe_show_product_subcategories function. * * Since some templates have not updated compatibility, to avoid showing incorrect categories this function has been deprecated and will * return nothing. Replace usage with woocommerce_output_product_categories to render the category list manually. * * This is a legacy function which also checks if things should display. * Themes no longer need to call these functions. It's all done via hooks. * * @deprecated 3.3.1 @todo Add a notice in a future version. * @param array $args Arguments. * @return null|boolean */ function woocommerce_product_subcategories( $args = array() ) { $defaults = array( 'before' => '', 'after' => '', 'force_display' => false, ); $args = wp_parse_args( $args, $defaults ); if ( $args['force_display'] ) { // We can still render if display is forced. woocommerce_output_product_categories( array( 'before' => $args['before'], 'after' => $args['after'], 'parent_id' => is_product_category() ? get_queried_object_id() : 0, ) ); return true; } else { // Output nothing. woocommerce_maybe_show_product_subcategories will handle the output of cats. $display_type = woocommerce_get_loop_display_mode(); if ( 'subcategories' === $display_type ) { // This removes pagination and products from display for themes not using wc_get_loop_prop in their product loops. @todo Remove in future major version. global $wp_query; if ( $wp_query->is_main_query() ) { $wp_query->post_count = 0; $wp_query->max_num_pages = 0; } } return 'subcategories' === $display_type || 'both' === $display_type; } } } /** * Products RSS Feed. * * @deprecated 2.6 */ function wc_products_rss_feed() { wc_deprecated_function( 'wc_products_rss_feed', '2.6' ); } if ( ! function_exists( 'woocommerce_reset_loop' ) ) { /** * Reset the loop's index and columns when we're done outputting a product loop. * * @deprecated 3.3 */ function woocommerce_reset_loop() { wc_reset_loop(); } } if ( ! function_exists( 'woocommerce_product_reviews_tab' ) ) { /** * Output the reviews tab content. * * @deprecated 2.4.0 Unused. */ function woocommerce_product_reviews_tab() { wc_deprecated_function( 'woocommerce_product_reviews_tab', '2.4' ); } } /** * Get the URL to the WooCommerce Legacy REST API. * * Note that as of WooCommerce 9.0 the WooCommerce Legacy REST API has been moved to a dedicated extension, * and the implementation of its root endpoint in WooCommerce core is now just a stub that will always return an error. * See the setup_legacy_api_stub method in includes/class-woocommerce.php and: * https://developer.woocommerce.com/2023/10/03/the-legacy-rest-api-will-move-to-a-dedicated-extension-in-woocommerce-9-0/ * * @deprecated 9.0.0 The Legacy REST API has been removed from WooCommerce core. * * @since 2.1 * @param string $path an endpoint to include in the URL. * @return string the URL. */ function get_woocommerce_api_url( $path ) { $url = get_home_url( null, 'wc-api/v3/', is_ssl() ? 'https' : 'http' ); if ( ! empty( $path ) && is_string( $path ) ) { $url .= ltrim( $path, '/' ); } return $url; } /** * WooCommerce Order Item Functions * * Functions for order specific things. * * @package WooCommerce\Functions * @version 3.4.0 */ defined( 'ABSPATH' ) || exit; /** * Add a item to an order (for example a line item). * * @param int $order_id Order ID. * @param array $item_array Items list. * * @throws Exception When `WC_Data_Store::load` validation fails. * @return int|bool Item ID or false */ function wc_add_order_item( $order_id, $item_array ) { $order_id = absint( $order_id ); if ( ! $order_id ) { return false; } $defaults = array( 'order_item_name' => '', 'order_item_type' => 'line_item', ); $item_array = wp_parse_args( $item_array, $defaults ); $data_store = WC_Data_Store::load( 'order-item' ); $item_id = $data_store->add_order_item( $order_id, $item_array ); $item = WC_Order_Factory::get_order_item( $item_id ); do_action( 'woocommerce_new_order_item', $item_id, $item, $order_id ); return $item_id; } /** * Update an item for an order. * * @since 2.2 * @param int $item_id Item ID. * @param array $args Either `order_item_type` or `order_item_name`. * * @throws Exception When `WC_Data_Store::load` validation fails. * @return bool True if successfully updated, false otherwise. */ function wc_update_order_item( $item_id, $args ) { $data_store = WC_Data_Store::load( 'order-item' ); $update = $data_store->update_order_item( $item_id, $args ); if ( false === $update ) { return false; } do_action( 'woocommerce_update_order_item', $item_id, $args ); return true; } /** * Delete an item from the order it belongs to based on item id. * * @param int $item_id Item ID. * * @throws Exception When `WC_Data_Store::load` validation fails. * @return bool */ function wc_delete_order_item( $item_id ) { $item_id = absint( $item_id ); if ( ! $item_id ) { return false; } $data_store = WC_Data_Store::load( 'order-item' ); do_action( 'woocommerce_before_delete_order_item', $item_id ); $data_store->delete_order_item( $item_id ); do_action( 'woocommerce_delete_order_item', $item_id ); return true; } /** * WooCommerce Order Item Meta API - Update term meta. * * @param int $item_id Item ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value. * @param string $prev_value Previous value (default: ''). * * @throws Exception When `WC_Data_Store::load` validation fails. * @return bool */ function wc_update_order_item_meta( $item_id, $meta_key, $meta_value, $prev_value = '' ) { $data_store = WC_Data_Store::load( 'order-item' ); if ( $data_store->update_metadata( $item_id, $meta_key, $meta_value, $prev_value ) ) { WC_Cache_Helper::invalidate_cache_group( 'object_' . $item_id ); // Invalidate cache. return true; } return false; } /** * WooCommerce Order Item Meta API - Add term meta. * * @param int $item_id Item ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value. * @param bool $unique If meta data should be unique (default: false). * * @throws Exception When `WC_Data_Store::load` validation fails. * @return int New row ID or 0. */ function wc_add_order_item_meta( $item_id, $meta_key, $meta_value, $unique = false ) { $data_store = WC_Data_Store::load( 'order-item' ); $meta_id = $data_store->add_metadata( $item_id, $meta_key, $meta_value, $unique ); if ( $meta_id ) { WC_Cache_Helper::invalidate_cache_group( 'object_' . $item_id ); // Invalidate cache. return $meta_id; } return 0; } /** * WooCommerce Order Item Meta API - Delete term meta. * * @param int $item_id Item ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value (default: ''). * @param bool $delete_all Delete all meta data, defaults to `false`. * * @throws Exception When `WC_Data_Store::load` validation fails. * @return bool */ function wc_delete_order_item_meta( $item_id, $meta_key, $meta_value = '', $delete_all = false ) { $data_store = WC_Data_Store::load( 'order-item' ); if ( $data_store->delete_metadata( $item_id, $meta_key, $meta_value, $delete_all ) ) { WC_Cache_Helper::invalidate_cache_group( 'object_' . $item_id ); // Invalidate cache. return true; } return false; } /** * WooCommerce Order Item Meta API - Get term meta. * * @param int $item_id Item ID. * @param string $key Meta key. * @param bool $single Whether to return a single value. (default: true). * * @throws Exception When `WC_Data_Store::load` validation fails. * @return mixed */ function wc_get_order_item_meta( $item_id, $key, $single = true ) { $data_store = WC_Data_Store::load( 'order-item' ); return $data_store->get_metadata( $item_id, $key, $single ); } /** * Get order ID by order item ID. * * @param int $item_id Item ID. * * @throws Exception When `WC_Data_Store::load` validation fails. * @return int */ function wc_get_order_id_by_order_item_id( $item_id ) { $data_store = WC_Data_Store::load( 'order-item' ); return $data_store->get_order_id_by_order_item_id( $item_id ); } /** * WooCommerce Terms * * Functions for handling terms/term meta. * * @package WooCommerce\Functions * @version 2.1.0 */ defined( 'ABSPATH' ) || exit; use Automattic\WooCommerce\Enums\ProductStockStatus; /** * Change get terms defaults for attributes to order by the sorting setting, or default to menu_order for sortable taxonomies. * * @since 3.6.0 Sorting options are now set as the default automatically, so you no longer have to request to orderby menu_order. * * @param array $defaults An array of default get_terms() arguments. * @param array $taxonomies An array of taxonomies. * @return array */ function wc_change_get_terms_defaults( $defaults, $taxonomies ) { if ( is_array( $taxonomies ) && 1 < count( $taxonomies ) ) { return $defaults; } $taxonomy = is_array( $taxonomies ) ? (string) current( $taxonomies ) : $taxonomies; $orderby = 'name'; if ( taxonomy_is_product_attribute( $taxonomy ) ) { $orderby = wc_attribute_orderby( $taxonomy ); } elseif ( in_array( $taxonomy, apply_filters( 'woocommerce_sortable_taxonomies', array( 'product_cat' ) ), true ) ) { $orderby = 'menu_order'; } // Change defaults. Invalid values will be changed later @see wc_change_pre_get_terms. // These are in place so we know if a specific order was requested. switch ( $orderby ) { case 'menu_order': case 'name_num': case 'parent': $defaults['orderby'] = $orderby; break; } return $defaults; } add_filter( 'get_terms_defaults', 'wc_change_get_terms_defaults', 10, 2 ); /** * Adds support to get_terms for menu_order argument. * * @since 3.6.0 * @param WP_Term_Query $terms_query Instance of WP_Term_Query. */ function wc_change_pre_get_terms( $terms_query ) { $args = &$terms_query->query_vars; // Put back valid orderby values. if ( 'menu_order' === $args['orderby'] ) { $args['orderby'] = 'name'; $args['force_menu_order_sort'] = true; } if ( 'name_num' === $args['orderby'] ) { $args['orderby'] = 'name'; $args['force_numeric_name'] = true; } // When COUNTING, disable custom sorting. if ( 'count' === $args['fields'] ) { return; } // Support menu_order arg used in previous versions. if ( ! empty( $args['menu_order'] ) ) { $args['order'] = 'DESC' === strtoupper( $args['menu_order'] ) ? 'DESC' : 'ASC'; $args['force_menu_order_sort'] = true; } if ( ! empty( $args['force_menu_order_sort'] ) ) { $args['orderby'] = 'meta_value_num'; $args['meta_key'] = 'order'; // phpcs:ignore $terms_query->meta_query->parse_query_vars( $args ); } } add_action( 'pre_get_terms', 'wc_change_pre_get_terms', 10, 1 ); /** * Adjust term query to handle custom sorting parameters. * * @param array $clauses Clauses. * @param array $taxonomies Taxonomies. * @param array $args Arguments. * @return array */ function wc_terms_clauses( $clauses, $taxonomies, $args ) { global $wpdb; // No need to filter when counting. if ( strpos( $clauses['fields'], 'COUNT(*)' ) !== false ) { return $clauses; } // Force numeric sort if using name_num custom sorting param. if ( ! empty( $args['force_numeric_name'] ) ) { $clauses['orderby'] = str_replace( 'ORDER BY t.name', 'ORDER BY t.name+0', $clauses['orderby'] ); } // For sorting, force left join in case order meta is missing. if ( ! empty( $args['force_menu_order_sort'] ) ) { $clauses['join'] = str_replace( "INNER JOIN {$wpdb->termmeta} ON ( t.term_id = {$wpdb->termmeta}.term_id )", "LEFT JOIN {$wpdb->termmeta} ON ( t.term_id = {$wpdb->termmeta}.term_id AND {$wpdb->termmeta}.meta_key='order')", $clauses['join'] ); $clauses['where'] = str_replace( "{$wpdb->termmeta}.meta_key = 'order'", "( {$wpdb->termmeta}.meta_key = 'order' OR {$wpdb->termmeta}.meta_key IS NULL )", $clauses['where'] ); $clauses['orderby'] = 'DESC' === $args['order'] ? str_replace( 'meta_value+0', 'meta_value+0 DESC, t.name', $clauses['orderby'] ) : str_replace( 'meta_value+0', 'meta_value+0 ASC, t.name', $clauses['orderby'] ); } return $clauses; } add_filter( 'terms_clauses', 'wc_terms_clauses', 99, 3 ); /** * Helper to get cached object terms and filter by field using wp_list_pluck(). * Works as a cached alternative for wp_get_post_terms() and wp_get_object_terms(). * * @since 3.0.0 * @param int $object_id Object ID. * @param string $taxonomy Taxonomy slug. * @param string $field Field name. * @param string $index_key Index key name. * @return array */ function wc_get_object_terms( $object_id, $taxonomy, $field = null, $index_key = null ) { // Test if terms exists. get_the_terms() return false when it finds no terms. $terms = get_the_terms( $object_id, $taxonomy ); if ( ! $terms || is_wp_error( $terms ) ) { return array(); } return is_null( $field ) ? $terms : wp_list_pluck( $terms, $field, $index_key ); } /** * Cached version of wp_get_post_terms(). * This is a private function (internal use ONLY). * * @since 3.0.0 * @param int $product_id Product ID. * @param string $taxonomy Taxonomy slug. * @param array $args Query arguments. * @return array */ function _wc_get_cached_product_terms( $product_id, $taxonomy, $args = array() ) { $cache_key = 'wc_' . $taxonomy . md5( wp_json_encode( $args ) ); $cache_group = WC_Cache_Helper::get_cache_prefix( 'product_' . $product_id ) . $product_id; $terms = wp_cache_get( $cache_key, $cache_group ); if ( false !== $terms ) { return $terms; } $terms = wp_get_post_terms( $product_id, $taxonomy, $args ); wp_cache_add( $cache_key, $terms, $cache_group ); return $terms; } /** * Wrapper used to get terms for a product. * * @param int $product_id Product ID. * @param string $taxonomy Taxonomy slug. * @param array $args Query arguments. * @return array */ function wc_get_product_terms( $product_id, $taxonomy, $args = array() ) { if ( ! taxonomy_exists( $taxonomy ) ) { return array(); } return apply_filters( 'woocommerce_get_product_terms', _wc_get_cached_product_terms( $product_id, $taxonomy, $args ), $product_id, $taxonomy, $args ); } /** * Sort by name (numeric). * * @param WP_Post $a First item to compare. * @param WP_Post $b Second item to compare. * @return int */ function _wc_get_product_terms_name_num_usort_callback( $a, $b ) { $a_name = (float) $a->name; $b_name = (float) $b->name; if ( abs( $a_name - $b_name ) < 0.001 ) { return 0; } return ( $a_name < $b_name ) ? -1 : 1; } /** * Sort by parent. * * @param WP_Post $a First item to compare. * @param WP_Post $b Second item to compare. * @return int */ function _wc_get_product_terms_parent_usort_callback( $a, $b ) { if ( $a->parent === $b->parent ) { return 0; } return ( $a->parent < $b->parent ) ? 1 : -1; } /** * WooCommerce Dropdown categories. * * @param array $args Args to control display of dropdown. */ function wc_product_dropdown_categories( $args = array() ) { global $wp_query; $args = wp_parse_args( $args, array( 'pad_counts' => 1, 'show_count' => 1, 'hierarchical' => 1, 'hide_empty' => 1, 'show_uncategorized' => 1, 'orderby' => 'name', 'selected' => isset( $wp_query->query_vars['product_cat'] ) ? $wp_query->query_vars['product_cat'] : '', 'show_option_none' => __( 'Select a category', 'woocommerce' ), 'option_none_value' => '', 'value_field' => 'slug', 'taxonomy' => 'product_cat', 'name' => 'product_cat', 'class' => 'dropdown_product_cat', ) ); if ( 'order' === $args['orderby'] ) { $args['orderby'] = 'meta_value_num'; $args['meta_key'] = 'order'; // phpcs:ignore } wp_dropdown_categories( $args ); } /** * Custom walker for Product Categories. * * Previously used by wc_product_dropdown_categories, but wp_dropdown_categories has been fixed in core. * * @param mixed ...$args Variable number of parameters to be passed to the walker. * @return mixed */ function wc_walk_category_dropdown_tree( ...$args ) { if ( ! class_exists( 'WC_Product_Cat_Dropdown_Walker', false ) ) { include_once WC()->plugin_path() . '/includes/walkers/class-wc-product-cat-dropdown-walker.php'; } // The user's options are the third parameter. if ( empty( $args[2]['walker'] ) || ! is_a( $args[2]['walker'], 'Walker' ) ) { $walker = new WC_Product_Cat_Dropdown_Walker(); } else { $walker = $args[2]['walker']; } return $walker->walk( ...$args ); } /** * Migrate data from WC term meta to WP term meta. * * When the database is updated to support term meta, migrate WC term meta data across. * We do this when the new version is >= 34370, and the old version is < 34370 (34370 is when term meta table was added). * * @param string $wp_db_version The new $wp_db_version. * @param string $wp_current_db_version The old (current) $wp_db_version. */ function wc_taxonomy_metadata_migrate_data( $wp_db_version, $wp_current_db_version ) { if ( $wp_db_version >= 34370 && $wp_current_db_version < 34370 ) { global $wpdb; if ( $wpdb->query( "INSERT INTO {$wpdb->termmeta} ( term_id, meta_key, meta_value ) SELECT woocommerce_term_id, meta_key, meta_value FROM {$wpdb->prefix}woocommerce_termmeta;" ) ) { $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}woocommerce_termmeta" ); } } } add_action( 'wp_upgrade', 'wc_taxonomy_metadata_migrate_data', 10, 2 ); /** * Move a term before the a given element of its hierarchy level. * * @param int $the_term Term ID. * @param int $next_id The id of the next sibling element in save hierarchy level. * @param string $taxonomy Taxonomy. * @param int $index Term index (default: 0). * @param mixed $terms List of terms. (default: null). * @return int */ function wc_reorder_terms( $the_term, $next_id, $taxonomy, $index = 0, $terms = null ) { if ( ! $terms ) { $terms = get_terms( $taxonomy, 'hide_empty=0&parent=0&menu_order=ASC' ); } if ( empty( $terms ) ) { return $index; } $id = intval( $the_term->term_id ); $term_in_level = false; // Flag: is our term to order in this level of terms. foreach ( $terms as $term ) { $term_id = intval( $term->term_id ); if ( $term_id === $id ) { // Our term to order, we skip. $term_in_level = true; continue; // Our term to order, we skip. } // the nextid of our term to order, lets move our term here. if ( null !== $next_id && $term_id === $next_id ) { ++$index; $index = wc_set_term_order( $id, $index, $taxonomy, true ); } // Set order. ++$index; $index = wc_set_term_order( $term_id, $index, $taxonomy ); /** * After a term has had it's order set. */ do_action( 'woocommerce_after_set_term_order', $term, $index, $taxonomy ); // If that term has children we walk through them. $children = get_terms( $taxonomy, "parent={$term_id}&hide_empty=0&menu_order=ASC" ); if ( ! empty( $children ) ) { $index = wc_reorder_terms( $the_term, $next_id, $taxonomy, $index, $children ); } } // No nextid meaning our term is in last position. if ( $term_in_level && null === $next_id ) { $index = wc_set_term_order( $id, $index + 1, $taxonomy, true ); } return $index; } /** * Set the sort order of a term. * * @param int $term_id Term ID. * @param int $index Index. * @param string $taxonomy Taxonomy. * @param bool $recursive Recursive (default: false). * @return int */ function wc_set_term_order( $term_id, $index, $taxonomy, $recursive = false ) { $term_id = (int) $term_id; $index = (int) $index; update_term_meta( $term_id, 'order', $index ); if ( ! $recursive ) { return $index; } $children = get_terms( $taxonomy, "parent=$term_id&hide_empty=0&menu_order=ASC" ); foreach ( $children as $term ) { ++$index; $index = wc_set_term_order( $term->term_id, $index, $taxonomy, true ); } clean_term_cache( $term_id, $taxonomy ); return $index; } /** * Function for recounting product terms, ignoring hidden products. * * This is used as the update_count_callback for the Product Category, Product Tag, and Product Brand * taxonomies. By default, it actually calculates two (possibly different) counts for each * term, which it stores in two different places. The first count is the one done by WordPress * itself, and is based on the status of the objects that are assigned the terms. In this case, * only products with the publish status are counted. This count is stored in the * `wp_term_taxonomy` table in the `count` field. * * The second count is based on WooCommerce-specific characteristics. In addition to the * publish status requirement, products are only counted if they are considered visible in the * catalog. This count is stored in the `wp_termmeta` table. The wc_change_term_counts function * is used to override the first count with the second count in some circumstances. * * Since the first count only needs to be recalculated when a product status is changed in some * way, it can sometimes be skipped (thus avoiding some potentially expensive queries). Setting * the $callback parameter to false skips the first count. * * @param array $terms List of terms. For legacy reasons, this can * either be a list of taxonomy term IDs or an * associative array in the format of * term ID > parent term ID. * @param WP_Taxonomy $taxonomy The relevant taxonomy. * @param bool $callback Whether to also recalculate the term counts * using the WP Core callback. Default true. * @param bool $terms_are_term_taxonomy_ids Flag to indicate which format the list of * terms is in. Default true, which indicates * that it is a list of taxonomy term IDs. */ function _wc_term_recount( $terms, $taxonomy, $callback = true, $terms_are_term_taxonomy_ids = true ) { global $wpdb; /** * Filter to allow/prevent recounting of terms as it could be expensive. * A likely scenario for this is when bulk importing products. We could * then prevent it from recounting per product but instead recount it once * when import is done. Of course this means the import logic has to support this. * * @since 5.2 * @param bool */ if ( ! apply_filters( 'woocommerce_product_recount_terms', true ) ) { return; } if ( true === $terms_are_term_taxonomy_ids ) { $taxonomy_term_ids = $terms; $term_ids = array_map( function ( $term_taxonomy_id ) use ( $taxonomy ) { $term = get_term_by( 'term_taxonomy_id', $term_taxonomy_id, $taxonomy->name ); return $term instanceof WP_Term ? $term->term_id : null; }, $terms ); } else { $taxonomy_term_ids = array(); // Defer querying these until the callback check. $term_ids = array_keys( $terms ); } $term_ids = array_unique( array_filter( $term_ids ) ); $taxonomy_term_ids = array_unique( array_filter( $taxonomy_term_ids ) ); // Exit if we have no terms to count. if ( empty( $term_ids ) ) { return; } // Standard WP callback for calculating post term counts. if ( $callback ) { if ( count( $taxonomy_term_ids ) < 1 ) { $taxonomy_term_ids = array_map( function ( $term_id ) use ( $taxonomy ) { $term = get_term_by( 'term_id', $term_id, $taxonomy->name ); return $term instanceof WP_Term ? $term->term_taxonomy_id : null; }, $term_ids ); } _update_post_term_count( $taxonomy_term_ids, $taxonomy ); } $exclude_term_ids = array(); $product_visibility_term_ids = wc_get_product_visibility_term_ids(); if ( $product_visibility_term_ids['exclude-from-catalog'] ) { $exclude_term_ids[] = $product_visibility_term_ids['exclude-from-catalog']; } if ( 'yes' === get_option( 'woocommerce_hide_out_of_stock_items' ) && $product_visibility_term_ids[ ProductStockStatus::OUT_OF_STOCK ] ) { $exclude_term_ids[] = $product_visibility_term_ids[ ProductStockStatus::OUT_OF_STOCK ]; } $query = array( 'fields' => " SELECT COUNT( DISTINCT ID ) FROM {$wpdb->posts} p ", 'join' => '', 'where' => " WHERE 1=1 AND p.post_status = 'publish' AND p.post_type = 'product' ", ); if ( count( $exclude_term_ids ) ) { $query['join'] .= " LEFT JOIN ( SELECT object_id FROM {$wpdb->term_relationships} WHERE term_taxonomy_id IN ( " . implode( ',', array_map( 'absint', $exclude_term_ids ) ) . ' ) ) AS exclude_join ON exclude_join.object_id = p.ID'; $query['where'] .= ' AND exclude_join.object_id IS NULL'; } // Ancestors need counting. if ( is_taxonomy_hierarchical( $taxonomy->name ) ) { foreach ( $term_ids as $term_id ) { $term_ids = array_merge( $term_ids, get_ancestors( $term_id, $taxonomy->name ) ); } $term_ids = array_unique( $term_ids ); } // Count the terms. foreach ( $term_ids as $term_id ) { $terms_to_count = array( absint( $term_id ) ); if ( is_taxonomy_hierarchical( $taxonomy->name ) ) { // We need to get the $term's hierarchy so we can count its children too. $children = get_term_children( $term_id, $taxonomy->name ); if ( $children && ! is_wp_error( $children ) ) { $terms_to_count = array_unique( array_map( 'absint', array_merge( $terms_to_count, $children ) ) ); } } // Generate term query. $term_query = $query; $term_query['join'] .= " INNER JOIN ( SELECT object_id FROM {$wpdb->term_relationships} INNER JOIN {$wpdb->term_taxonomy} using( term_taxonomy_id ) WHERE term_id IN ( " . implode( ',', array_map( 'absint', $terms_to_count ) ) . ' ) ) AS include_join ON include_join.object_id = p.ID'; // Get the count. // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared $count = $wpdb->get_var( implode( ' ', $term_query ) ); // Update the count. update_term_meta( $term_id, 'product_count_' . $taxonomy->name, absint( $count ) ); } delete_transient( 'wc_term_counts' ); } /** * Recount terms after the stock amount changes. * * @param int $product_id Product ID. */ function wc_recount_after_stock_change( $product_id ) { if ( 'yes' !== get_option( 'woocommerce_hide_out_of_stock_items' ) ) { return; } if ( wp_defer_term_counting() ) { // When deferring term counts, we're using the built in handling of `wp_update_term_count()` to deal with the deferring // and, though, this will cause both the standard and stock based counts to be rerun, it is still more efficient // in cases where deferred term counting was warranted. $product_terms = get_the_terms( $product_id, 'product_cat' ); if ( is_array( $product_terms ) ) { wp_update_term_count( array_column( $product_terms, 'term_taxonomy_id' ), 'product_cat' ); } $product_terms = get_the_terms( $product_id, 'product_tag' ); if ( is_array( $product_terms ) ) { wp_update_term_count( array_column( $product_terms, 'term_taxonomy_id' ), 'product_tag' ); } } else { _wc_recount_terms_by_product( $product_id ); } } add_action( 'woocommerce_product_set_stock_status', 'wc_recount_after_stock_change' ); /** * Overrides the original term count for product categories and tags with the product count. * that takes catalog visibility into account. * * @param array $terms List of terms. * @param string|array $taxonomies Single taxonomy or list of taxonomies. * @return array */ function wc_change_term_counts( $terms, $taxonomies ) { if ( is_admin() || wp_doing_ajax() ) { return $terms; } /** * Filter which product taxonomies should have their term counts overridden to take catalog visibility into account. * * @since 2.1.0 * * @param array $valid_taxonomies List of taxonomy slugs. */ $valid_taxonomies = apply_filters( 'woocommerce_change_term_counts', array( 'product_cat', 'product_tag', 'product_brand' ) ); $current_taxonomies = array_intersect( (array) $taxonomies, $valid_taxonomies ); if ( empty( $current_taxonomies ) ) { return $terms; } $o_term_counts = get_transient( 'wc_term_counts' ); $term_counts = false === $o_term_counts ? array() : $o_term_counts; foreach ( $terms as &$term ) { if ( $term instanceof WP_Term && in_array( $term->taxonomy, $current_taxonomies, true ) ) { $key = $term->term_id . '_' . $term->taxonomy; if ( ! isset( $term_counts[ $key ] ) ) { $count = get_term_meta( $term->term_id, 'product_count_' . $term->taxonomy, true ); $count = '' !== $count ? absint( $count ) : 0; $term_counts[ $key ] = $count; } $term->count = $term_counts[ $key ]; } } // Update transient. if ( $term_counts !== $o_term_counts ) { set_transient( 'wc_term_counts', $term_counts, MONTH_IN_SECONDS ); } return $terms; } add_filter( 'get_terms', 'wc_change_term_counts', 10, 2 ); /** * Return products in a given term, and cache value. * * To keep in sync, product_count will be cleared on "set_object_terms". * * @param int $term_id Term ID. * @param string $taxonomy Taxonomy. * @return array */ function wc_get_term_product_ids( $term_id, $taxonomy ) { $product_ids = get_term_meta( $term_id, 'product_ids', true ); if ( false === $product_ids || ! is_array( $product_ids ) ) { $product_ids = get_objects_in_term( $term_id, $taxonomy ); update_term_meta( $term_id, 'product_ids', $product_ids ); } return $product_ids; } /** * When a post is updated and terms recounted (called by _update_post_term_count), clear the ids. * * @param int $object_id Object ID. * @param array $terms An array of object terms. * @param array $tt_ids An array of term taxonomy IDs. * @param string $taxonomy Taxonomy slug. * @param bool $append Whether to append new terms to the old terms. * @param array $old_tt_ids Old array of term taxonomy IDs. */ function wc_clear_term_product_ids( $object_id, $terms, $tt_ids, $taxonomy, $append, $old_tt_ids ) { foreach ( $old_tt_ids as $term_id ) { delete_term_meta( $term_id, 'product_ids' ); } foreach ( $tt_ids as $term_id ) { delete_term_meta( $term_id, 'product_ids' ); } } add_action( 'set_object_terms', 'wc_clear_term_product_ids', 10, 6 ); /** * Get full list of product visibility term ids. * * @since 3.0.0 * @return int[] */ function wc_get_product_visibility_term_ids() { if ( ! taxonomy_exists( 'product_visibility' ) ) { wc_doing_it_wrong( __FUNCTION__, 'wc_get_product_visibility_term_ids should not be called before taxonomies are registered (woocommerce_after_register_post_type action).', '3.1' ); return array(); } static $term_ids = array(); // The static variable doesn't work well with unit tests. if ( count( $term_ids ) > 0 && ! class_exists( 'WC_Unit_Tests_Bootstrap' ) ) { return $term_ids; } $term_ids = array_map( 'absint', wp_parse_args( wp_list_pluck( get_terms( array( 'taxonomy' => 'product_visibility', 'hide_empty' => false, ) ), 'term_taxonomy_id', 'name' ), array( 'exclude-from-catalog' => 0, 'exclude-from-search' => 0, 'featured' => 0, 'outofstock' => 0, 'rated-1' => 0, 'rated-2' => 0, 'rated-3' => 0, 'rated-4' => 0, 'rated-5' => 0, ) ) ); return $term_ids; } /** * Recounts all terms for product categories and product tags. * * @since 5.2 * * @param bool $include_callback True to update the standard term counts in addition to the product-specific counts, * which will cause a lot more queries to run. * * @return void */ function wc_recount_all_terms( bool $include_callback = true ) { $product_cats = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => false, 'fields' => 'id=>parent', ) ); _wc_term_recount( $product_cats, get_taxonomy( 'product_cat' ), $include_callback, false ); $product_tags = get_terms( array( 'taxonomy' => 'product_tag', 'hide_empty' => false, 'fields' => 'id=>parent', ) ); _wc_term_recount( $product_tags, get_taxonomy( 'product_tag' ), $include_callback, false ); } /** * Recounts terms by product. * * @since 5.2 * @param int $product_id The ID of the product. * @return void */ function _wc_recount_terms_by_product( $product_id = '' ) { if ( empty( $product_id ) ) { return; } $product_terms = get_the_terms( $product_id, 'product_cat' ); if ( $product_terms ) { $product_cats = array(); foreach ( $product_terms as $term ) { $product_cats[ $term->term_id ] = $term->parent; } _wc_term_recount( $product_cats, get_taxonomy( 'product_cat' ), false, false ); } $product_terms = get_the_terms( $product_id, 'product_tag' ); if ( $product_terms ) { $product_tags = array(); foreach ( $product_terms as $term ) { $product_tags[ $term->term_id ] = $term->parent; } _wc_term_recount( $product_tags, get_taxonomy( 'product_tag' ), false, false ); } } if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * WC_HTTPS class. * * @class WC_HTTPS * @version 2.2.0 * @package WooCommerce\Classes * @category Class * @author WooThemes */ class WC_HTTPS { /** * Hook in our HTTPS functions if we're on the frontend. This will ensure any links output to a page (when viewing via HTTPS) are also served over HTTPS. */ public static function init() { if ( 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) && ! is_admin() ) { // HTTPS urls with SSL on $filters = array( 'post_thumbnail_html', 'wp_get_attachment_image_attributes', 'wp_get_attachment_url', 'option_stylesheet_url', 'option_template_url', 'script_loader_src', 'style_loader_src', 'template_directory_uri', 'stylesheet_directory_uri', 'site_url', ); foreach ( $filters as $filter ) { add_filter( $filter, array( __CLASS__, 'force_https_url' ), 999 ); } add_filter( 'page_link', array( __CLASS__, 'force_https_page_link' ), 10, 2 ); add_action( 'template_redirect', array( __CLASS__, 'force_https_template_redirect' ) ); if ( 'yes' == get_option( 'woocommerce_unforce_ssl_checkout' ) ) { add_action( 'template_redirect', array( __CLASS__, 'unforce_https_template_redirect' ) ); } } add_action( 'http_api_curl', array( __CLASS__, 'http_api_curl' ), 10, 3 ); } /** * Force https for urls. * * @param mixed $content * @return string */ public static function force_https_url( $content ) { if ( is_ssl() ) { if ( is_array( $content ) ) { $content = array_map( 'WC_HTTPS::force_https_url', $content ); } else { $content = str_replace( 'http:', 'https:', (string) $content ); } } return $content; } /** * Force a post link to be SSL if needed. * * @param string $link * @param int $page_id * * @return string */ public static function force_https_page_link( $link, $page_id ) { if ( in_array( $page_id, array( get_option( 'woocommerce_checkout_page_id' ), get_option( 'woocommerce_myaccount_page_id' ) ) ) ) { $link = str_replace( 'http:', 'https:', $link ); } elseif ( 'yes' === get_option( 'woocommerce_unforce_ssl_checkout' ) && ! wc_site_is_https() ) { $link = str_replace( 'https:', 'http:', $link ); } return $link; } /** * Template redirect - if we end up on a page ensure it has the correct http/https url. */ public static function force_https_template_redirect() { if ( ! is_ssl() && ( is_checkout() || is_account_page() || apply_filters( 'woocommerce_force_ssl_checkout', false ) ) ) { if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) { wp_safe_redirect( preg_replace( '|^http://|', 'https://', $_SERVER['REQUEST_URI'] ) ); exit; } else { wp_safe_redirect( 'https://' . ( ! empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST'] ) . $_SERVER['REQUEST_URI'] ); exit; } } } /** * Template redirect - if we end up on a page ensure it has the correct http/https url. */ public static function unforce_https_template_redirect() { if ( function_exists( 'is_customize_preview' ) && is_customize_preview() ) { return; } if ( ! wc_site_is_https() && is_ssl() && $_SERVER['REQUEST_URI'] && ! is_checkout() && ! wp_doing_ajax() && ! is_account_page() && apply_filters( 'woocommerce_unforce_ssl_checkout', true ) ) { if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) { wp_safe_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ) ); exit; } else { wp_safe_redirect( 'http://' . ( ! empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST'] ) . $_SERVER['REQUEST_URI'] ); exit; } } } /** * Force posts to PayPal to use TLS v1.2. See: * https://core.trac.wordpress.org/ticket/36320 * https://core.trac.wordpress.org/ticket/34924#comment:13 * https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1914&viewlocale=en_US * * @param string $handle * @param mixed $r * @param string $url */ public static function http_api_curl( $handle, $r, $url ) { if ( strstr( $url, 'https://' ) && ( strstr( $url, '.paypal.com/nvp' ) || strstr( $url, '.paypal.com/cgi-bin/webscr' ) ) ) { curl_setopt( $handle, CURLOPT_SSLVERSION, 6 ); } } } WC_HTTPS::init();

Visit us at 123 Example St. Manhattan, NY 10300, United States

Get directions

The business location
/** * WooCommerce Auth * * Handles wc-auth endpoint requests. * * @package WooCommerce\RestApi * @since 2.4.0 */ defined( 'ABSPATH' ) || exit; /** * Auth class. */ class WC_Auth { /** * Version. * * @var int */ const VERSION = 1; /** * Setup class. * * @since 2.4.0 */ public function __construct() { // Add query vars. add_filter( 'query_vars', array( $this, 'add_query_vars' ), 0 ); // Register auth endpoint. add_action( 'init', array( __CLASS__, 'add_endpoint' ), 0 ); // Handle auth requests. add_action( 'parse_request', array( $this, 'handle_auth_requests' ), 0 ); } /** * Add query vars. * * @since 2.4.0 * @param array $vars Query variables. * @return string[] */ public function add_query_vars( $vars ) { $vars[] = 'wc-auth-version'; $vars[] = 'wc-auth-route'; return $vars; } /** * Add auth endpoint. * * @since 2.4.0 */ public static function add_endpoint() { add_rewrite_rule( '^wc-auth/v([1]{1})/(.*)?', 'index.php?wc-auth-version=$matches[1]&wc-auth-route=$matches[2]', 'top' ); } /** * Get scope name. * * @since 2.4.0 * @param string $scope Permission scope. * @return string */ protected function get_i18n_scope( $scope ) { $permissions = array( 'read' => __( 'Read', 'woocommerce' ), 'write' => __( 'Write', 'woocommerce' ), 'read_write' => __( 'Read/Write', 'woocommerce' ), ); return $permissions[ $scope ]; } /** * Return a list of permissions a scope allows. * * @since 2.4.0 * @param string $scope Permission scope. * @return array */ protected function get_permissions_in_scope( $scope ) { $permissions = array(); switch ( $scope ) { case 'read': $permissions[] = __( 'View coupons', 'woocommerce' ); $permissions[] = __( 'View customers', 'woocommerce' ); $permissions[] = __( 'View orders and sales reports', 'woocommerce' ); $permissions[] = __( 'View products', 'woocommerce' ); break; case 'write': $permissions[] = __( 'Create webhooks', 'woocommerce' ); $permissions[] = __( 'Create coupons', 'woocommerce' ); $permissions[] = __( 'Create customers', 'woocommerce' ); $permissions[] = __( 'Create orders', 'woocommerce' ); $permissions[] = __( 'Create products', 'woocommerce' ); break; case 'read_write': $permissions[] = __( 'Create webhooks', 'woocommerce' ); $permissions[] = __( 'View and manage coupons', 'woocommerce' ); $permissions[] = __( 'View and manage customers', 'woocommerce' ); $permissions[] = __( 'View and manage orders and sales reports', 'woocommerce' ); $permissions[] = __( 'View and manage products', 'woocommerce' ); break; } return apply_filters( 'woocommerce_api_permissions_in_scope', $permissions, $scope ); } /** * Build auth urls. * * @since 2.4.0 * @param array $data Data to build URL. * @param string $endpoint Endpoint. * @return string */ protected function build_url( $data, $endpoint ) { $url = wc_get_endpoint_url( 'wc-auth/v' . self::VERSION, $endpoint, home_url( '/' ) ); return add_query_arg( array( 'app_name' => wc_clean( $data['app_name'] ), 'user_id' => wc_clean( $data['user_id'] ), 'return_url' => rawurlencode( $this->get_formatted_url( $data['return_url'] ) ), 'callback_url' => rawurlencode( $this->get_formatted_url( $data['callback_url'] ) ), 'scope' => wc_clean( $data['scope'] ), ), $url ); } /** * Decode and format a URL. * * @param string $url URL. * @return string */ protected function get_formatted_url( $url ) { $url = urldecode( $url ); if ( ! strstr( $url, '://' ) ) { $url = 'https://' . $url; } return $url; } /** * Make validation. * * @since 2.4.0 * @throws Exception When validate fails. */ protected function make_validation() { $data = array(); $params = array( 'app_name', 'user_id', 'return_url', 'callback_url', 'scope', ); foreach ( $params as $param ) { if ( empty( $_REQUEST[ $param ] ) ) { // WPCS: input var ok, CSRF ok. /* translators: %s: parameter */ throw new Exception( sprintf( __( 'Missing parameter %s', 'woocommerce' ), $param ) ); } $data[ $param ] = wp_unslash( $_REQUEST[ $param ] ); // WPCS: input var ok, CSRF ok, sanitization ok. } if ( ! in_array( $data['scope'], array( 'read', 'write', 'read_write' ), true ) ) { /* translators: %s: scope */ throw new Exception( sprintf( __( 'Invalid scope %s', 'woocommerce' ), wc_clean( $data['scope'] ) ) ); } foreach ( array( 'return_url', 'callback_url' ) as $param ) { $param = $this->get_formatted_url( $data[ $param ] ); if ( false === filter_var( $param, FILTER_VALIDATE_URL ) ) { /* translators: %s: url */ throw new Exception( sprintf( __( 'The %s is not a valid URL', 'woocommerce' ), $param ) ); } } $callback_url = $this->get_formatted_url( $data['callback_url'] ); if ( 0 !== stripos( $callback_url, 'https://' ) ) { throw new Exception( __( 'The callback_url needs to be over SSL', 'woocommerce' ) ); } } /** * Create keys. * * @since 2.4.0 * * @param string $app_name App name. * @param string $app_user_id User ID. * @param string $scope Scope. * * @return array */ protected function create_keys( $app_name, $app_user_id, $scope ) { global $wpdb; $description = sprintf( '%s - API (%s)', wc_trim_string( wc_clean( $app_name ), 170 ), gmdate( 'Y-m-d H:i:s' ) ); $user = wp_get_current_user(); // Created API keys. $permissions = in_array( $scope, array( 'read', 'write', 'read_write' ), true ) ? sanitize_text_field( $scope ) : 'read'; $consumer_key = 'ck_' . wc_rand_hash(); $consumer_secret = 'cs_' . wc_rand_hash(); $wpdb->insert( $wpdb->prefix . 'woocommerce_api_keys', array( 'user_id' => $user->ID, 'description' => $description, 'permissions' => $permissions, 'consumer_key' => wc_api_hash( $consumer_key ), 'consumer_secret' => $consumer_secret, 'truncated_key' => substr( $consumer_key, -7 ), ), array( '%d', '%s', '%s', '%s', '%s', '%s', ) ); return array( 'key_id' => $wpdb->insert_id, 'user_id' => $app_user_id, 'consumer_key' => $consumer_key, 'consumer_secret' => $consumer_secret, 'key_permissions' => $permissions, ); } /** * Post consumer data. * * @since 2.4.0 * * @throws Exception When validation fails. * @param array $consumer_data Consumer data. * @param string $url URL. * @return bool */ protected function post_consumer_data( $consumer_data, $url ) { $params = array( 'body' => wp_json_encode( $consumer_data ), 'timeout' => 60, 'headers' => array( 'Content-Type' => 'application/json;charset=' . get_bloginfo( 'charset' ), ), ); $response = wp_safe_remote_post( esc_url_raw( $url ), $params ); if ( is_wp_error( $response ) ) { throw new Exception( $response->get_error_message() ); } elseif ( 200 !== intval( $response['response']['code'] ) ) { throw new Exception( __( 'An error occurred in the request and at the time were unable to send the consumer data', 'woocommerce' ) ); } return true; } /** * Handle auth requests. * * @since 2.4.0 * @throws Exception When auth_endpoint validation fails. */ public function handle_auth_requests() { global $wp; if ( ! empty( $_GET['wc-auth-version'] ) ) { // WPCS: input var ok, CSRF ok. $wp->query_vars['wc-auth-version'] = wc_clean( wp_unslash( $_GET['wc-auth-version'] ) ); // WPCS: input var ok, CSRF ok. } if ( ! empty( $_GET['wc-auth-route'] ) ) { // WPCS: input var ok, CSRF ok. $wp->query_vars['wc-auth-route'] = wc_clean( wp_unslash( $_GET['wc-auth-route'] ) ); // WPCS: input var ok, CSRF ok. } // wc-auth endpoint requests. if ( ! empty( $wp->query_vars['wc-auth-version'] ) && ! empty( $wp->query_vars['wc-auth-route'] ) ) { $this->auth_endpoint( $wp->query_vars['wc-auth-route'] ); } } /** * Auth endpoint. * * @since 2.4.0 * @throws Exception When validation fails. * @param string $route Route. */ protected function auth_endpoint( $route ) { ob_start(); $consumer_data = array(); try { $route = strtolower( wc_clean( $route ) ); $this->make_validation(); $data = wp_unslash( $_REQUEST ); // WPCS: input var ok, CSRF ok. // Login endpoint. if ( 'login' === $route && ! is_user_logged_in() ) { /** * If a merchant is using the WordPress SSO (handled through Jetpack) * to manage their authorisation then it is likely they'll find that * their username and password do not work through this form. We * instead need to redirect them to the WordPress login so that they * can then be redirected back here with a valid token. */ // Check if Jetpack is installed and activated. if ( class_exists( 'Jetpack' ) && Jetpack::connection()->has_connected_owner() ) { // Check if the user is using the WordPress.com SSO. if ( Jetpack::is_module_active( 'sso' ) ) { $redirect_url = $this->build_url( $data, 'authorize' ); // Build the SSO URL. $login_url = \Automattic\Jetpack\Connection\SSO::get_instance()->build_sso_button_url( array( 'redirect_to' => rawurlencode( esc_url_raw( $redirect_url ) ), 'action' => 'login', ) ); // Perform the redirect. wp_safe_redirect( $login_url ); exit; } } wc_get_template( 'auth/form-login.php', array( 'app_name' => wc_clean( $data['app_name'] ), 'return_url' => add_query_arg( array( 'success' => 0, 'user_id' => wc_clean( $data['user_id'] ), ), $this->get_formatted_url( $data['return_url'] ) ), 'redirect_url' => $this->build_url( $data, 'authorize' ), ) ); exit; } elseif ( 'login' === $route && is_user_logged_in() ) { // Redirect with user is logged in. wp_redirect( esc_url_raw( $this->build_url( $data, 'authorize' ) ) ); exit; } elseif ( 'authorize' === $route && ! is_user_logged_in() ) { // Redirect with user is not logged in and trying to access the authorize endpoint. wp_redirect( esc_url_raw( $this->build_url( $data, 'login' ) ) ); exit; } elseif ( 'authorize' === $route && current_user_can( 'manage_woocommerce' ) ) { // Authorize endpoint. wc_get_template( 'auth/form-grant-access.php', array( 'app_name' => wc_clean( $data['app_name'] ), 'callback_url' => $this->get_formatted_url( $data['callback_url'] ), 'return_url' => add_query_arg( array( 'success' => 0, 'user_id' => wc_clean( $data['user_id'] ), ), $this->get_formatted_url( $data['return_url'] ) ), 'scope' => $this->get_i18n_scope( wc_clean( $data['scope'] ) ), 'permissions' => $this->get_permissions_in_scope( wc_clean( $data['scope'] ) ), 'granted_url' => wp_nonce_url( $this->build_url( $data, 'access_granted' ), 'wc_auth_grant_access', 'wc_auth_nonce' ), 'logout_url' => wp_logout_url( $this->build_url( $data, 'login' ) ), 'user' => wp_get_current_user(), ) ); exit; } elseif ( 'access_granted' === $route && current_user_can( 'manage_woocommerce' ) ) { // Granted access endpoint. if ( ! isset( $_GET['wc_auth_nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['wc_auth_nonce'] ) ), 'wc_auth_grant_access' ) ) { // WPCS: input var ok. throw new Exception( __( 'Invalid nonce verification', 'woocommerce' ) ); } $consumer_data = $this->create_keys( $data['app_name'], $data['user_id'], $data['scope'] ); $response = $this->post_consumer_data( $consumer_data, $this->get_formatted_url( $data['callback_url'] ) ); if ( $response ) { wp_redirect( esc_url_raw( add_query_arg( array( 'success' => 1, 'user_id' => wc_clean( $data['user_id'] ), ), $this->get_formatted_url( $data['return_url'] ) ) ) ); exit; } } else { throw new Exception( __( 'You do not have permission to access this page', 'woocommerce' ) ); } } catch ( Exception $e ) { $this->maybe_delete_key( $consumer_data ); /* translators: %s: error message */ wp_die( sprintf( esc_html__( 'Error: %s.', 'woocommerce' ), esc_html( $e->getMessage() ) ), esc_html__( 'Access denied', 'woocommerce' ), array( 'response' => 401 ) ); } } /** * Maybe delete key. * * @since 2.4.0 * * @param array $key Key. */ private function maybe_delete_key( $key ) { global $wpdb; if ( isset( $key['key_id'] ) ) { $wpdb->delete( $wpdb->prefix . 'woocommerce_api_keys', array( 'key_id' => $key['key_id'] ), array( '%d' ) ); } } } new WC_Auth(); (function () { if ( document.querySelector('.mp-row-checkout-pix') !== null ) { var detailsPixSize = document.querySelector('.mp-details-pix'); if( detailsPixSize.offsetWidth <= 700 ) { document.querySelector('.mp-col-md-4').style.width = '100%'; document.querySelector('.mp-col-md-4').style.flex = 'none'; document.querySelector('.mp-col-md-8').style.width = '100%'; document.querySelector('.mp-col-md-8').style.flex = 'none'; document.querySelector('.mp-pix-right').style.borderRight = 'none'; document.querySelector('.mp-pix-right').style.borderTop = 'solid 1px #e5e5e5'; document.querySelector('.mp-pix-right').style.marginBittom = '32px'; document.querySelector('.mp-qr-input').style.width = '100%'; document.querySelector('.mp-qr-input').style.margin = '0 0 24px 0'; document.querySelector('.mp-details-pix-button').style.width = '100%'; document.querySelector('.mp-details-pix-button').style.height = 'auto'; document.querySelector('.mp-details-pix-button').style.display = 'block'; document.querySelector('.mp-row-checkout-pix-container').style.display = 'block'; document.querySelector('.mp-details-pix-img').style.margin = '64px auto 0'; document.querySelector('.mp-details-pix-img').style.padding = '0px'; document.querySelector('.mp-details-pix-title').style.margin = '40px auto 0'; document.querySelector('.mp-details-pix-title').style.textAlign = 'center'; document.querySelector('.mp-details-pix-title').style.padding = '0px'; } } })();

Support


/** * WooCommerce Message Functions * * Functions for error/message handling and display. * * @package WooCommerce\Functions * @version 2.1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Get the count of notices added, either for all notices (default) or for one. * particular notice type specified by $notice_type. * * @since 2.1 * @param string $notice_type Optional. The name of the notice type - either error, success or notice. * @return int */ function wc_notice_count( $notice_type = '' ) { if ( ! did_action( 'woocommerce_init' ) ) { wc_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before woocommerce_init.', 'woocommerce' ), '2.3' ); return; } $notice_count = 0; $all_notices = WC()->session->get( 'wc_notices', array() ); if ( isset( $all_notices[ $notice_type ] ) && is_array( $all_notices[ $notice_type ] ) ) { $notice_count = count( $all_notices[ $notice_type ] ); } elseif ( empty( $notice_type ) ) { foreach ( $all_notices as $notices ) { if ( is_countable( $notices ) ) { $notice_count += count( $notices ); } } } return $notice_count; } /** * Check if a notice has already been added. * * @since 2.1 * @param string $message The text to display in the notice. * @param string $notice_type Optional. The name of the notice type - either error, success or notice. * @return bool */ function wc_has_notice( $message, $notice_type = 'success' ) { if ( ! did_action( 'woocommerce_init' ) ) { wc_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before woocommerce_init.', 'woocommerce' ), '2.3' ); return false; } $notices = WC()->session->get( 'wc_notices', array() ); $notices = isset( $notices[ $notice_type ] ) ? $notices[ $notice_type ] : array(); return array_search( $message, wp_list_pluck( $notices, 'notice' ), true ) !== false; } /** * Add and store a notice. * * @since 2.1 * @version 3.9.0 * @param string $message The text to display in the notice. * @param string $notice_type Optional. The name of the notice type - either error, success or notice. * @param array $data Optional notice data. */ function wc_add_notice( $message, $notice_type = 'success', $data = array() ) { if ( ! did_action( 'woocommerce_init' ) ) { wc_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before woocommerce_init.', 'woocommerce' ), '2.3' ); return; } $notices = WC()->session->get( 'wc_notices', array() ); // Backward compatibility. if ( 'success' === $notice_type ) { $message = apply_filters( 'woocommerce_add_message', $message ); } $message = apply_filters( 'woocommerce_add_' . $notice_type, $message ); if ( ! empty( $message ) ) { $notices[ $notice_type ][] = array( 'notice' => $message, 'data' => $data, ); } WC()->session->set( 'wc_notices', $notices ); } /** * Set all notices at once. * * @since 2.6.0 * @param array[] $notices Array of notices. */ function wc_set_notices( $notices ) { if ( ! did_action( 'woocommerce_init' ) ) { wc_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before woocommerce_init.', 'woocommerce' ), '2.6' ); return; } WC()->session->set( 'wc_notices', empty( $notices ) ? null : $notices ); } /** * Unset all notices. * * @since 2.1 */ function wc_clear_notices() { if ( ! did_action( 'woocommerce_init' ) ) { wc_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before woocommerce_init.', 'woocommerce' ), '2.3' ); return; } WC()->session->set( 'wc_notices', null ); } /** * Prints messages and errors which are stored in the session, then clears them. * * @since 2.1 * @param bool $return true to return rather than echo. @since 3.5.0. * @return string|void */ function wc_print_notices( $return = false ) { if ( ! did_action( 'woocommerce_init' ) ) { wc_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before woocommerce_init.', 'woocommerce' ), '2.3' ); return; } $session = WC()->session; // If the session handler has not initialized, there will be no notices for us to read. if ( null === $session ) { return; } $all_notices = $session->get( 'wc_notices', array() ); $notice_types = apply_filters( 'woocommerce_notice_types', array( 'error', 'success', 'notice' ) ); // Buffer output. ob_start(); foreach ( $notice_types as $notice_type ) { if ( wc_notice_count( $notice_type ) > 0 ) { $messages = array(); foreach ( $all_notices[ $notice_type ] as $notice ) { $messages[] = isset( $notice['notice'] ) ? $notice['notice'] : $notice; } wc_get_template( "notices/{$notice_type}.php", array( 'messages' => array_filter( $messages ), // @deprecated 3.9.0 'notices' => array_filter( $all_notices[ $notice_type ] ), ) ); } } wc_clear_notices(); $notices = wc_kses_notice( ob_get_clean() ); if ( $return ) { return $notices; } echo $notices; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Print a single notice immediately. * * @since 2.1 * @version 3.9.0 * @param string $message The text to display in the notice. * @param string $notice_type Optional. The singular name of the notice type - either error, success or notice. * @param array $data Optional notice data. @since 3.9.0. * @param bool $return true to return rather than echo. @since 7.7.0. */ function wc_print_notice( $message, $notice_type = 'success', $data = array(), $return = false ) { if ( 'success' === $notice_type ) { $message = apply_filters( 'woocommerce_add_message', $message ); } $message = apply_filters( 'woocommerce_add_' . $notice_type, $message ); // Buffer output. ob_start(); wc_get_template( "notices/{$notice_type}.php", array( 'messages' => array( $message ), // @deprecated 3.9.0 'notices' => array( array( 'notice' => $message, 'data' => $data, ), ), ) ); $notice = wc_kses_notice( ob_get_clean() ); if ( $return ) { return $notice; } echo $notice; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Returns all queued notices, optionally filtered by a notice type. * * @since 2.1 * @version 3.9.0 * @param string $notice_type Optional. The singular name of the notice type - either error, success or notice. * @return array[] */ function wc_get_notices( $notice_type = '' ) { if ( ! did_action( 'woocommerce_init' ) ) { wc_doing_it_wrong( __FUNCTION__, __( 'This function should not be called before woocommerce_init.', 'woocommerce' ), '2.3' ); return; } $notices = array(); if ( ! WC()->session ) { return $notices; } $all_notices = WC()->session->get( 'wc_notices', array() ); if ( empty( $notice_type ) ) { $notices = $all_notices; } elseif ( isset( $all_notices[ $notice_type ] ) ) { $notices = $all_notices[ $notice_type ]; } return $notices; } /** * Add notices for WP Errors. * * @param WP_Error $errors Errors. */ function wc_add_wp_error_notices( $errors ) { if ( is_wp_error( $errors ) && $errors->get_error_messages() ) { foreach ( $errors->get_error_messages() as $error ) { wc_add_notice( $error, 'error' ); } } } /** * Filters out the same tags as wp_kses_post, but allows tabindex for element. * * @since 3.5.0 * @param string $message Content to filter through kses. * @return string */ function wc_kses_notice( $message ) { $allowed_tags = array_replace_recursive( wp_kses_allowed_html( 'post' ), array( 'a' => array( 'tabindex' => true, ), ) ); /** * Kses notice allowed tags. * * @since 3.9.0 * @param array[]|string $allowed_tags An array of allowed HTML elements and attributes, or a context name such as 'post'. */ return wp_kses( $message, apply_filters( 'woocommerce_kses_notice_allowed_tags', $allowed_tags ) ); } /** * Get notice data attribute. * * @since 3.9.0 * @param array $notice Notice data. * @return string */ function wc_get_notice_data_attr( $notice ) { if ( empty( $notice['data'] ) ) { return; } $attr = ''; foreach ( $notice['data'] as $key => $value ) { $attr .= sprintf( ' data-%1$s="%2$s"', sanitize_title( $key ), esc_attr( $value ) ); } return $attr; } (window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[]).push([[43],{135:function(e,t,c){"use strict";var n=c(0);c(191),t.a=()=>Object(n.createElement)("span",{className:"wc-block-components-spinner","aria-hidden":"true"})},137:function(e,t,c){"use strict";var n=c(0),o=c(1),a=c(4),s=c.n(a),r=(c(193),c(135));t.a=e=>{let{children:t,className:c,screenReaderLabel:a,showSpinner:l=!1,isLoading:i=!0}=e;return Object(n.createElement)("div",{className:s()(c,{"wc-block-components-loading-mask":i})},i&&l&&Object(n.createElement)(r.a,null),Object(n.createElement)("div",{className:s()({"wc-block-components-loading-mask__children":i}),"aria-hidden":i},t),i&&Object(n.createElement)("span",{className:"screen-reader-text"},a||Object(o.__)("Loading…","woocommerce")))}},191:function(e,t){},193:function(e,t){},22:function(e,t,c){"use strict";var n=c(0),o=c(4),a=c.n(o);t.a=e=>{let t,{label:c,screenReaderLabel:o,wrapperElement:s,wrapperProps:r={}}=e;const l=null!=c,i=null!=o;return!l&&i?(t=s||"span",r={...r,className:a()(r.className,"screen-reader-text")},Object(n.createElement)(t,r,o)):(t=s||n.Fragment,l&&i&&c!==o?Object(n.createElement)(t,r,Object(n.createElement)("span",{"aria-hidden":"true"},c),Object(n.createElement)("span",{className:"screen-reader-text"},o)):Object(n.createElement)(t,r,c))}},256:function(e,t){},260:function(e,t,c){"use strict";var n=c(11),o=c.n(n),a=c(0),s=c(4),r=c.n(s);c(261),t.a=e=>{let{children:t,className:c,headingLevel:n,...s}=e;const l=r()("wc-block-components-title",c),i="h"+n;return Object(a.createElement)(i,o()({className:l},s),t)}},261:function(e,t){},262:function(e,t,c){"use strict";var n=c(0),o=c(4),a=c.n(o),s=c(263);t.a=e=>{let{checked:t,name:c,onChange:o,option:r}=e;const{value:l,label:i,description:d,secondaryLabel:p,secondaryDescription:m}=r;return Object(n.createElement)("label",{className:a()("wc-block-components-radio-control__option",{"wc-block-components-radio-control__option-checked":t}),htmlFor:`${c}-${l}`},Object(n.createElement)("input",{id:`${c}-${l}`,className:"wc-block-components-radio-control__input",type:"radio",name:c,value:l,onChange:e=>o(e.target.value),checked:t,"aria-describedby":a()({[`${c}-${l}__label`]:i,[`${c}-${l}__secondary-label`]:p,[`${c}-${l}__description`]:d,[`${c}-${l}__secondary-description`]:m})}),Object(n.createElement)(s.a,{id:`${c}-${l}`,label:i,secondaryLabel:p,description:d,secondaryDescription:m}))}},263:function(e,t,c){"use strict";var n=c(0);t.a=e=>{let{label:t,secondaryLabel:c,description:o,secondaryDescription:a,id:s}=e;return Object(n.createElement)("div",{className:"wc-block-components-radio-control__option-layout"},Object(n.createElement)("div",{className:"wc-block-components-radio-control__label-group"},t&&Object(n.createElement)("span",{id:s&&s+"__label",className:"wc-block-components-radio-control__label"},t),c&&Object(n.createElement)("span",{id:s&&s+"__secondary-label",className:"wc-block-components-radio-control__secondary-label"},c)),Object(n.createElement)("div",{className:"wc-block-components-radio-control__description-group"},o&&Object(n.createElement)("span",{id:s&&s+"__description",className:"wc-block-components-radio-control__description"},o),a&&Object(n.createElement)("span",{id:s&&s+"__secondary-description",className:"wc-block-components-radio-control__secondary-description"},a)))}},265:function(e,t){},266:function(e,t){},267:function(e,t,c){"use strict";c.d(t,"a",(function(){return m}));var n=c(1),o=c(7),a=c(5),s=c(18),r=c(31),l=c(0),i=c(245);const d=()=>{const{notices:e,createSnackbarNotice:t,removeSnackbarNotice:c,setIsSuppressed:n}=Object(i.b)(),o=Object(l.useRef)(e);Object(l.useEffect)(()=>{o.current=e},[e]);const a=Object(l.useMemo)(()=>({removeNotices:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;o.current.forEach(t=>{null!==e&&t.status!==e||c(t.id)})},removeSnackbarNotice:c}),[c]),s=Object(l.useMemo)(()=>({addSnackbarNotice:function(e){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(e,c)}}),[t]);return{notices:e,...a,...s,setIsSuppressed:n}};var p=c(194);const m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const{cartCoupons:t,cartIsLoading:c}=Object(r.a)(),{createErrorNotice:l}=Object(o.useDispatch)("core/notices"),{addSnackbarNotice:i}=d(),{setValidationErrors:m}=Object(p.b)(),b=Object(o.useSelect)((t,c)=>{let{dispatch:o}=c;const r=t(a.CART_STORE_KEY),d=r.isApplyingCoupon(),p=r.isRemovingCoupon(),{applyCoupon:b,removeCoupon:u,receiveApplyingCoupon:h}=o(a.CART_STORE_KEY);return{applyCoupon:e=>{b(e).then(t=>{!0===t&&i(Object(n.sprintf)( /* translators: %s coupon code. */ Object(n.__)('Coupon code "%s" has been applied to your cart.',"woocommerce"),e),{id:"coupon-form"})}).catch(e=>{m({coupon:{message:Object(s.decodeEntities)(e.message),hidden:!1}}),h("")})},removeCoupon:t=>{u(t).then(e=>{!0===e&&i(Object(n.sprintf)( /* translators: %s coupon code. */ Object(n.__)('Coupon code "%s" has been removed from your cart.',"woocommerce"),t),{id:"coupon-form"})}).catch(t=>{l(t.message,{id:"coupon-form",context:e}),h("")})},isApplyingCoupon:d,isRemovingCoupon:p}},[l,i]);return{appliedCoupons:t,isLoading:c,...b}}},268:function(e,t,c){"use strict";c.d(t,"a",(function(){return a}));var n=c(0),o=c(194);c(256);const a=e=>{let{errorMessage:t="",propertyName:c="",elementId:a=""}=e;const{getValidationError:s,getValidationErrorId:r}=Object(o.b)();if(!t||"string"!=typeof t){const e=s(c)||{};if(!e.message||e.hidden)return null;t=e.message}return Object(n.createElement)("div",{className:"wc-block-components-validation-error",role:"alert"},Object(n.createElement)("p",{id:r(a)},t))}},269:function(e,t,c){"use strict";c.d(t,"b",(function(){return s})),c.d(t,"a",(function(){return r}));var n=c(30),o=c(201);const a=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{paymentMethods:t,expressPaymentMethods:c,paymentMethodsInitialized:a,expressPaymentMethodsInitialized:s}=Object(o.b)(),r=Object(n.a)(t),l=Object(n.a)(c);return{paymentMethods:e?l:r,isInitialized:e?s:a}},s=()=>a(!1),r=()=>a(!0)},270:function(e,t,c){"use strict";var n=c(1);t.a=e=>{let{defaultTitle:t=Object(n.__)("Step","woocommerce"),defaultDescription:c=Object(n.__)("Step description text.","woocommerce"),defaultShowStepNumber:o=!0}=e;return{title:{type:"string",default:t},description:{type:"string",default:c},showStepNumber:{type:"boolean",default:o}}}},272:function(e,t,c){"use strict";var n=c(11),o=c.n(n),a=c(0),s=c(4),r=c.n(s);const l=e=>"wc-block-components-payment-method-icon wc-block-components-payment-method-icon--"+e;var i=e=>{let{id:t,src:c=null,alt:n=""}=e;return c?Object(a.createElement)("img",{className:l(t),src:c,alt:n}):null},d=c(44);const p=[{id:"alipay",alt:"Alipay",src:d.l+"payment-methods/alipay.svg"},{id:"amex",alt:"American Express",src:d.l+"payment-methods/amex.svg"},{id:"bancontact",alt:"Bancontact",src:d.l+"payment-methods/bancontact.svg"},{id:"diners",alt:"Diners Club",src:d.l+"payment-methods/diners.svg"},{id:"discover",alt:"Discover",src:d.l+"payment-methods/discover.svg"},{id:"eps",alt:"EPS",src:d.l+"payment-methods/eps.svg"},{id:"giropay",alt:"Giropay",src:d.l+"payment-methods/giropay.svg"},{id:"ideal",alt:"iDeal",src:d.l+"payment-methods/ideal.svg"},{id:"jcb",alt:"JCB",src:d.l+"payment-methods/jcb.svg"},{id:"laser",alt:"Laser",src:d.l+"payment-methods/laser.svg"},{id:"maestro",alt:"Maestro",src:d.l+"payment-methods/maestro.svg"},{id:"mastercard",alt:"Mastercard",src:d.l+"payment-methods/mastercard.svg"},{id:"multibanco",alt:"Multibanco",src:d.l+"payment-methods/multibanco.svg"},{id:"p24",alt:"Przelewy24",src:d.l+"payment-methods/p24.svg"},{id:"sepa",alt:"Sepa",src:d.l+"payment-methods/sepa.svg"},{id:"sofort",alt:"Sofort",src:d.l+"payment-methods/sofort.svg"},{id:"unionpay",alt:"Union Pay",src:d.l+"payment-methods/unionpay.svg"},{id:"visa",alt:"Visa",src:d.l+"payment-methods/visa.svg"},{id:"wechat",alt:"WeChat",src:d.l+"payment-methods/wechat.svg"}];var m=c(52);c(265),t.a=e=>{let{icons:t=[],align:c="center",className:n}=e;const s=(e=>{const t={};return e.forEach(e=>{let c={};"string"==typeof e&&(c={id:e,alt:e,src:null}),"object"==typeof e&&(c={id:e.id||"",alt:e.alt||"",src:e.src||null}),c.id&&Object(m.a)(c.id)&&!t[c.id]&&(t[c.id]=c)}),Object.values(t)})(t);if(0===s.length)return null;const l=r()("wc-block-components-payment-method-icons",{"wc-block-components-payment-method-icons--align-left":"left"===c,"wc-block-components-payment-method-icons--align-right":"right"===c},n);return Object(a.createElement)("div",{className:l},s.map(e=>{const t={...e,...(c=e.id,p.find(e=>e.id===c)||{})};var c;return Object(a.createElement)(i,o()({key:"payment-method-icon-"+e.id},t))}))}},282:function(e,t){},283:function(e,t,c){"use strict";var n=c(19),o=c.n(n),a=c(0),s=c(1),r=c(3),l=c(2),i=c(124),d=c(29);class p extends r.Component{constructor(){super(...arguments),o()(this,"state",{errorMessage:"",hasError:!1})}static getDerivedStateFromError(e){return{errorMessage:e.message,hasError:!0}}render(){const{hasError:e,errorMessage:t}=this.state,{isEditor:c}=this.props;if(e){let e=Object(s.__)("This site is experiencing difficulties with this payment method. Please contact the owner of the site for assistance.","woocommerce");(c||l.CURRENT_USER_IS_ADMIN)&&(e=t||Object(s.__)("There was an error with this payment method. Please verify it's configured correctly.","woocommerce"));const n=[{id:"0",content:e,isDismissible:!1,status:"error"}];return Object(a.createElement)(i.a,{additionalNotices:n,context:d.c.PAYMENTS})}return this.props.children}}p.defaultProps={isEditor:!1},t.a=p},284:function(e,t,c){"use strict";var n=c(0),o=c(4),a=c.n(o),s=c(13),r=c(262);c(285);const l=e=>{let{className:t="",id:c,selected:o,onChange:i=(()=>{}),options:d=[]}=e;const p=Object(s.useInstanceId)(l),m=c||p;return d.length?Object(n.createElement)("div",{className:a()("wc-block-components-radio-control",t)},d.map(e=>Object(n.createElement)(r.a,{key:`${m}-${e.value}`,name:"radio-control-"+m,checked:e.value===o,option:e,onChange:t=>{i(t),"function"==typeof e.onChange&&e.onChange(t)}}))):null};t.a=l},285:function(e,t){},290:function(e,t,c){"use strict";var n=c(0),o=c(4),a=c.n(o),s=c(260);c(266);const r=e=>{let{title:t,stepHeadingContent:c}=e;return Object(n.createElement)("div",{className:"wc-block-components-checkout-step__heading"},Object(n.createElement)(s.a,{"aria-hidden":"true",className:"wc-block-components-checkout-step__title",headingLevel:"2"},t),!!c&&Object(n.createElement)("span",{className:"wc-block-components-checkout-step__heading-content"},c))};t.a=e=>{let{id:t,className:c,title:o,legend:s,description:l,children:i,disabled:d=!1,showStepNumber:p=!0,stepHeadingContent:m=(()=>{})}=e;const b=s||o?"fieldset":"div";return Object(n.createElement)(b,{className:a()(c,"wc-block-components-checkout-step",{"wc-block-components-checkout-step--with-step-number":p,"wc-block-components-checkout-step--disabled":d}),id:t,disabled:d},!(!s&&!o)&&Object(n.createElement)("legend",{className:"screen-reader-text"},s||o),!!o&&Object(n.createElement)(r,{title:o,stepHeadingContent:m()}),Object(n.createElement)("div",{className:"wc-block-components-checkout-step__container"},!!l&&Object(n.createElement)("p",{className:"wc-block-components-checkout-step__description"},l),Object(n.createElement)("div",{className:"wc-block-components-checkout-step__content"},i)))}},325:function(e,t,c){"use strict";var n=c(8),o=c(0),a=c(4),s=c.n(a),r=c(13),l=c(41);t.a=function({icon:e,children:t,label:c,instructions:a,className:i,notices:d,preview:p,isColumnLayout:m,...b}){const[u,{width:h}]=Object(r.useResizeObserver)();let g;"number"==typeof h&&(g={"is-large":h>=480,"is-medium":h>=160&&h<480,"is-small":h<160});const O=s()("components-placeholder",i,g),j=s()("components-placeholder__fieldset",{"is-column-layout":m});return Object(o.createElement)("div",Object(n.a)({},b,{className:O}),u,d,p&&Object(o.createElement)("div",{className:"components-placeholder__preview"},p),Object(o.createElement)("div",{className:"components-placeholder__label"},Object(o.createElement)(l.a,{icon:e}),c),!!a&&Object(o.createElement)("div",{className:"components-placeholder__instructions"},a),Object(o.createElement)("div",{className:j},t))}},330:function(e,t,c){"use strict";var n=c(0),o=c(15);const a=Object(n.createElement)(o.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)(o.Path,{fillRule:"evenodd",d:"M5.5 9.5v-2h13v2h-13zm0 3v4h13v-4h-13zM4 7a1 1 0 011-1h14a1 1 0 011 1v10a1 1 0 01-1 1H5a1 1 0 01-1-1V7z",clipRule:"evenodd"}));t.a=a},335:function(e,t,c){"use strict";c.d(t,"a",(function(){return I}));var n=c(1),o=c(37),a=c(0),s=c(4),r=c.n(s),l=c(15),i=Object(a.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(a.createElement)("g",{fill:"none",fillRule:"evenodd"},Object(a.createElement)("path",{d:"M0 0h24v24H0z"}),Object(a.createElement)("path",{fill:"#000",fillRule:"nonzero",d:"M17.3 8v1c1 .2 1.4.9 1.4 1.7h-1c0-.6-.3-1-1-1-.8 0-1.3.4-1.3.9 0 .4.3.6 1.4 1 1 .2 2 .6 2 1.9 0 .9-.6 1.4-1.5 1.5v1H16v-1c-.9-.1-1.6-.7-1.7-1.7h1c0 .6.4 1 1.3 1 1 0 1.2-.5 1.2-.8 0-.4-.2-.8-1.3-1.1-1.3-.3-2.1-.8-2.1-1.8 0-.9.7-1.5 1.6-1.6V8h1.3zM12 10v1H6v-1h6zm2-2v1H6V8h8zM2 4v16h20V4H2zm2 14V6h16v12H4z"}),Object(a.createElement)("path",{stroke:"#000",strokeLinecap:"round",d:"M6 16c2.6 0 3.9-3 1.7-3-2 0-1 3 1.5 3 1 0 1-.8 2.8-.8"}))),d=Object(a.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(a.createElement)(l.Path,{fillRule:"evenodd",d:"M18.646 9H20V8l-1-.5L12 4 5 7.5 4 8v1h14.646zm-3-1.5L12 5.677 8.354 7.5h7.292zm-7.897 9.44v-6.5h-1.5v6.5h1.5zm5-6.5v6.5h-1.5v-6.5h1.5zm5 0v6.5h-1.5v-6.5h1.5zm2.252 8.81c0 .414-.334.75-.748.75H4.752a.75.75 0 010-1.5h14.5a.75.75 0 01.749.75z",clipRule:"evenodd"})),p=Object(a.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(a.createElement)(l.Path,{d:"M3.25 12a8.75 8.75 0 1117.5 0 8.75 8.75 0 01-17.5 0zM12 4.75a7.25 7.25 0 100 14.5 7.25 7.25 0 000-14.5zm-1.338 4.877c-.314.22-.412.452-.412.623 0 .171.098.403.412.623.312.218.783.377 1.338.377.825 0 1.605.233 2.198.648.59.414 1.052 1.057 1.052 1.852 0 .795-.461 1.438-1.052 1.852-.41.286-.907.486-1.448.582v.316a.75.75 0 01-1.5 0v-.316a3.64 3.64 0 01-1.448-.582c-.59-.414-1.052-1.057-1.052-1.852a.75.75 0 011.5 0c0 .171.098.403.412.623.312.218.783.377 1.338.377s1.026-.159 1.338-.377c.314-.22.412-.452.412-.623 0-.171-.098-.403-.412-.623-.312-.218-.783-.377-1.338-.377-.825 0-1.605-.233-2.198-.648-.59-.414-1.052-1.057-1.052-1.852 0-.795.461-1.438 1.052-1.852a3.64 3.64 0 011.448-.582V7.5a.75.75 0 011.5 0v.316c.54.096 1.039.296 1.448.582.59.414 1.052 1.057 1.052 1.852a.75.75 0 01-1.5 0c0-.171-.098-.403-.412-.623-.312-.218-.783-.377-1.338-.377s-1.026.159-1.338.377z"})),m=c(330),b=c(105),u=c(52),h=c(61);c(282);const g={bank:d,bill:p,card:m.a,checkPayment:i};var O=e=>{let{icon:t="",text:c=""}=e;const n=!!t,o=Object(a.useCallback)(e=>n&&Object(u.a)(e)&&Object(h.b)(g,e),[n]),s=r()("wc-block-components-payment-method-label",{"wc-block-components-payment-method-label--with-icon":n});return Object(a.createElement)("span",{className:s},o(t)?Object(a.createElement)(b.a,{icon:g[t]}):t,c)},j=c(272),v=c(2),y=c(32),k=c.n(y),_=c(137),E=c(268),w=c(31),f=c(267),S=c(29),N=c(34),C=c(201),P=c(66),M=c(46);const x=(e,t)=>{const c=[],o=(t,c)=>{const n=c+"_tax",o=Object(h.b)(e,c)&&Object(u.a)(e[c])?parseInt(e[c],10):0;return{key:c,label:t,value:o,valueWithTax:o+(Object(h.b)(e,n)&&Object(u.a)(e[n])?parseInt(e[n],10):0)}};return c.push(o(Object(n.__)("Subtotal:","woocommerce"),"total_items")),c.push(o(Object(n.__)("Fees:","woocommerce"),"total_fees")),c.push(o(Object(n.__)("Discount:","woocommerce"),"total_discount")),c.push({key:"total_tax",label:Object(n.__)("Taxes:","woocommerce"),value:parseInt(e.total_tax,10),valueWithTax:parseInt(e.total_tax,10)}),t&&c.push(o(Object(n.__)("Shipping:","woocommerce"),"total_shipping")),c};var R=c(64);const I=()=>{const{isCalculating:e,isComplete:t,isIdle:c,isProcessing:s,onCheckoutBeforeProcessing:r,onCheckoutValidationBeforeProcessing:l,onCheckoutAfterProcessingWithSuccess:i,onCheckoutAfterProcessingWithError:d,onSubmit:p,customerId:m}=Object(N.b)(),{currentStatus:b,activePaymentMethod:u,onPaymentProcessing:h,setExpressPaymentError:g,shouldSavePayment:y}=Object(C.b)(),{shippingErrorStatus:I,shippingErrorTypes:T,onShippingRateSuccess:A,onShippingRateFail:z,onShippingRateSelectSuccess:L,onShippingRateSelectFail:$}=Object(P.b)(),{shippingRates:D,isLoadingRates:V,selectedRates:F,isSelectingRate:B,selectShippingRate:H,needsShipping:W}=Object(R.a)(),{billingData:Y,shippingAddress:G,setShippingAddress:U}=Object(M.b)(),{cartItems:J,cartFees:K,cartTotals:q,extensions:Q}=Object(w.a)(),{appliedCoupons:X}=Object(f.a)(),{noticeContexts:Z,responseTypes:ee}=Object(S.d)(),te=Object(a.useRef)(x(q,W)),ce=Object(a.useRef)({label:Object(n.__)("Total","woocommerce"),value:parseInt(q.total_price,10)});Object(a.useEffect)(()=>{te.current=x(q,W),ce.current={label:Object(n.__)("Total","woocommerce"),value:parseInt(q.total_price,10)}},[q,W]);const ne=Object(a.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";k()("setExpressPaymentError should only be used by Express Payment Methods (using the provided onError handler).",{alternative:"",plugin:"woocommerce-gutenberg-products-block",link:"https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/4228"}),g(e)}),[g]);return{activePaymentMethod:u,billing:{appliedCoupons:X,billingData:Y,cartTotal:ce.current,cartTotalItems:te.current,currency:Object(o.getCurrencyFromPriceResponse)(q),customerId:m,displayPricesIncludingTax:Object(v.getSetting)("displayCartPricesIncludingTax",!1)},cartData:{cartItems:J,cartFees:K,extensions:Q},checkoutStatus:{isCalculating:e,isComplete:t,isIdle:c,isProcessing:s},components:{LoadingMask:_.a,PaymentMethodIcons:j.a,PaymentMethodLabel:O,ValidationInputError:E.a},emitResponse:{noticeContexts:Z,responseTypes:ee},eventRegistration:{onCheckoutAfterProcessingWithError:d,onCheckoutAfterProcessingWithSuccess:i,onCheckoutBeforeProcessing:r,onCheckoutValidationBeforeProcessing:l,onPaymentProcessing:h,onShippingRateFail:z,onShippingRateSelectFail:$,onShippingRateSelectSuccess:L,onShippingRateSuccess:A},onSubmit:p,paymentStatus:b,setExpressPaymentError:ne,shippingData:{isSelectingRate:B,needsShipping:W,selectedRates:F,setSelectedRates:H,setShippingAddress:U,shippingAddress:G,shippingRates:D,shippingRatesLoading:V},shippingStatus:{shippingErrorStatus:I,shippingErrorTypes:T},shouldSavePayment:y}}},384:function(e,t){},428:function(e,t,c){"use strict";c.r(t);var n=c(0),o=c(4),a=c.n(o),s=c(31),r=c(29),l=c(120),i=c(290),d=c(34),p=c(269),m=c(1),b=c(22),u=c(201),h=c(325),g=c(50),O=c(94),j=c(105),v=c(330),y=c(2),k=c(27);c(384);const _=()=>Object(n.createElement)(h.a,{icon:Object(n.createElement)(j.a,{icon:v.a}),label:Object(m.__)("Payment methods","woocommerce"),className:"wc-block-checkout__no-payment-methods-placeholder"},Object(n.createElement)("span",{className:"wc-block-checkout__no-payment-methods-placeholder-description"},Object(m.__)("Your store does not have any payment methods configured that support the checkout block. Once you have configured a compatible payment method it will be shown here.","woocommerce")),Object(n.createElement)(g.a,{isSecondary:!0,href:y.ADMIN_URL+"admin.php?page=wc-settings&tab=checkout",target:"_blank",rel:"noopener noreferrer"},Object(m.__)("Configure Payment Methods","woocommerce"))),E=()=>Object(n.createElement)(O.a,{isDismissible:!1,className:a()("wc-block-checkout__no-payment-methods-notice","woocommerce-message","woocommerce-error")},Object(m.__)("There are no payment methods available. This may be an error on our side. Please contact us if you need any help placing your order.","woocommerce"));var w=()=>{const{isEditor:e}=Object(k.a)();return e?Object(n.createElement)(_,null):Object(n.createElement)(E,null)},f=c(335),S=c(40),N=c(13),C=c(262),P=Object(N.withInstanceId)(e=>{let{className:t,instanceId:c,id:o,selected:s,onChange:r,options:l=[]}=e;const i=o||c;return l.length&&Object(n.createElement)("div",{className:a()("wc-block-components-radio-control",t)},l.map(e=>{const t="object"==typeof e&&"content"in e,c=e.value===s;return Object(n.createElement)("div",{className:"wc-block-components-radio-control-accordion-option",key:e.value},Object(n.createElement)(C.a,{name:"radio-control-"+i,checked:c,option:e,onChange:t=>{r(t),"function"==typeof e.onChange&&e.onChange(t)}}),t&&c&&Object(n.createElement)("div",{className:a()("wc-block-components-radio-control-accordion-content",{"wc-block-components-radio-control-accordion-content-hide":!c})},e.content))}))}),M=c(7),x=c(10),R=c(283),I=e=>{let{children:t,showSaveOption:c}=e;const{isEditor:o}=Object(k.a)(),{shouldSavePayment:a,setShouldSavePayment:s}=Object(u.b)(),{customerId:r}=Object(d.b)();return Object(n.createElement)(R.a,{isEditor:o},t,r>0&&c&&Object(n.createElement)(x.CheckboxControl,{className:"wc-block-components-payment-methods__save-card-info",label:Object(m.__)("Save payment information to my account for future purchases.","woocommerce"),checked:a,onChange:()=>s(!a)}))},T=()=>{const{setActivePaymentMethod:e,activeSavedToken:t,isExpressPaymentMethodActive:c,customerPaymentMethods:o}=Object(u.b)(),{paymentMethods:s}=Object(p.b)(),{activePaymentMethod:l,...i}=Object(f.a)(),{noticeContexts:d}=Object(r.d)(),{removeNotice:m}=Object(M.useDispatch)("core/notices"),{dispatchCheckoutEvent:b}=Object(S.a)(),{isEditor:h}=Object(k.a)(),g=Object.keys(s).map(e=>{const{edit:t,content:c,label:o,supports:a}=s[e],r=h?t:c;return{value:e,label:"string"==typeof o?o:Object(n.cloneElement)(o,{components:i.components}),name:"wc-saved-payment-method-token-"+e,content:Object(n.createElement)(I,{showSaveOption:a.showSaveOption},Object(n.cloneElement)(r,{activePaymentMethod:l,...i}))}}),O=Object(n.useCallback)(t=>{e(t),m("wc-payment-error",d.PAYMENTS),b("set-active-payment-method",{value:t})},[b,d.PAYMENTS,m,e]),j=0===Object.keys(o).length&&1===Object.keys(s).length,v=a()({"disable-radio-control":j});return c?null:Object(n.createElement)(P,{id:"wc-payment-method-options",className:v,selected:t?null:l,onChange:O,options:g})},A=c(284);const z=e=>{let{method:t,expires:c}=e;return Object(m.sprintf)( /* translators: %1$s is referring to the payment method brand, %2$s is referring to the last 4 digits of the payment card, %3$s is referring to the expiry date. */ Object(m.__)("%1$s ending in %2$s (expires %3$s)","woocommerce"),t.brand,t.last4,c)},L=e=>{let{method:t}=e;return t.brand&&t.last4?Object(m.sprintf)( /* translators: %1$s is referring to the payment method brand, %2$s is referring to the last 4 digits of the payment card. */ Object(m.__)("%1$s ending in %2$s","woocommerce"),t.brand,t.last4):Object(m.sprintf)( /* translators: %s is the name of the payment method gateway. */ Object(m.__)("Saved token for %s","woocommerce"),t.gateway)};var $=()=>{var e,t;const{customerPaymentMethods:c,activePaymentMethod:o,setActivePaymentMethod:a,activeSavedToken:s}=Object(u.b)(),{paymentMethods:l}=Object(p.b)(),i=Object(f.a)(),{noticeContexts:d}=Object(r.d)(),{removeNotice:m}=Object(M.useDispatch)("core/notices"),{dispatchCheckoutEvent:b}=Object(S.a)(),h=Object(n.useMemo)(()=>Object.keys(c).flatMap(e=>c[e].map(t=>{const c="cc"===e||"echeck"===e,n=t.method.gateway;return{name:"wc-saved-payment-method-token-"+n,label:c?z(t):L(t),value:t.tokenId.toString(),onChange:e=>{a(n,{token:e,payment_method:n,[`wc-${n}-payment-token`]:e.toString(),isSavedToken:!0}),m("wc-payment-error",d.PAYMENTS),b("set-active-payment-method",{paymentMethodSlug:n})}}})).filter(Boolean),[c,a,m,d.PAYMENTS,b]),g=s&&l[o]&&null!==(e=l[o])&&void 0!==e&&e.savedTokenComponent?Object(n.cloneElement)(null===(t=l[o])||void 0===t?void 0:t.savedTokenComponent,{token:s,...i}):null;return h.length>0?Object(n.createElement)(n.Fragment,null,Object(n.createElement)(A.a,{id:"wc-payment-method-saved-tokens",selected:s,options:h}),g):null},D=()=>{const{isInitialized:e,paymentMethods:t}=Object(p.b)(),{customerPaymentMethods:c}=Object(u.b)();return e&&0===Object.keys(t).length?Object(n.createElement)(w,null):Object(n.createElement)(n.Fragment,null,Object(n.createElement)($,null),Object.keys(c).length>0&&Object(n.createElement)(b.a,{label:Object(m.__)("Use another payment method.","woocommerce"),screenReaderLabel:Object(m.__)("Other available payment methods","woocommerce"),wrapperElement:"p",wrapperProps:{className:["wc-block-components-checkout-step__description wc-block-components-checkout-step__description-payments-aligned"]}}),Object(n.createElement)(T,null))},V=()=>Object(n.createElement)(D,null),F=c(270),B={...Object(F.a)({defaultTitle:Object(m.__)("Payment options","woocommerce"),defaultDescription:""}),className:{type:"string",default:""},lock:{type:"object",default:{move:!0,remove:!0}}},H=c(124);t.default=Object(l.withFilteredAttributes)(B)(e=>{let{title:t,description:c,showStepNumber:o,children:l,className:p}=e;const{isProcessing:m}=Object(d.b)(),{cartNeedsPayment:b}=Object(s.a)(),{noticeContexts:u}=Object(r.d)();return b?Object(n.createElement)(i.a,{id:"payment-method",disabled:m,className:a()("wc-block-checkout__payment-method",p),title:t,description:c,showStepNumber:o},Object(n.createElement)(H.a,{context:u.PAYMENTS}),Object(n.createElement)(V,null),l):null})}}]); declare( strict_types=1 ); namespace KadenceWP\KadenceBlocks\Cache; /** * Caches AI Related files. */ final class Ai_Cache extends Block_Library_Cache { /** * Create a hashed file name from provided identifier. * * @param mixed $identifier Unique data to identify this file. * * @return string * @throws \InvalidArgumentException * @throws \RuntimeException */ protected function filename( $identifier ): string { return $this->hasher->hash( [ 'kadence-ai-generated-content', $identifier, ] ) . $this->ext; } } /** * Class for pulling in library database and saving locally * Based on a package from the WPTT Team for local fonts. * * @package Kadence Blocks */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class for pulling in template database and saving locally */ class Kadence_Blocks_Prebuilt_Library { /** * Instance of this class * * @var null */ private static $instance = null; /** * API key for kadence * * @var null */ private $api_key = ''; /** * API email for kadence * * @var string */ private $api_email = ''; /** * API product for kadence * * @var string */ private $product_id = ''; /** * API product for kadence * * @var string */ private $product_slug = ''; /** * API email for kadence * * @var string */ private $package = 'section'; /** * Is a template for Kadence. * * @var bool */ private $is_template = false; /** * API email for kadence * * @var string */ private $url = ''; /** * API email for kadence * * @var string */ private $key = ''; /** * Base URL. * * @access protected * @var string */ protected $base_url; /** * Base path. * * @access protected * @var string */ protected $base_path; /** * Subfolder name. * * @access protected * @var string */ protected $subfolder_name; /** * The starter templates folder. * * @access protected * @var string */ protected $block_library_folder; /** * The local stylesheet's path. * * @access protected * @var string */ protected $local_template_data_path; /** * The local stylesheet's path. * * @access protected * @var string */ protected $local_pages_data_path; /** * The local stylesheet's URL. * * @access protected * @var string */ protected $local_template_data_url; /** * The local stylesheet's URL. * * @access protected * @var string */ protected $local_pages_data_url; /** * The remote URL. * * @access protected * @var string */ protected $remote_url = 'https://patterns.startertemplatecloud.com/wp-json/kadence-cloud/v1/get/'; /** * The remote URL. * * @access protected * @var string */ protected $remote_pages_url = 'https://patterns.startertemplatecloud.com/wp-json/kadence-cloud/v1/pages/'; /** * The remote URL. * * @access protected * @var string */ protected $remote_templates_url = 'https://api.startertemplatecloud.com/wp-json/kadence-starter/v1/get/'; /** * The final data. * * @access protected * @var string */ protected $data; /** * Cleanup routine frequency. */ const CLEANUP_FREQUENCY = 'monthly'; /** * Instance Control */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor. */ public function __construct() { if ( is_admin() ) { // Ajax Calls. add_action( 'wp_ajax_kadence_import_get_prebuilt_data', [ $this, 'prebuilt_data_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_reload_prebuilt_data', [ $this, 'prebuilt_data_reload_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_get_new_connection_data', [ $this, 'prebuilt_connection_info_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_get_prebuilt_templates_data', [ $this, 'prebuilt_templates_data_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_reload_prebuilt_templates_data', [ $this, 'prebuilt_templates_data_reload_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_get_prebuilt_pages_data', [ $this, 'prebuilt_pages_data_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_reload_prebuilt_pages_data', [ $this, 'prebuilt_pages_data_reload_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_process_data', [ $this, 'process_data_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_process_image_data', [ $this, 'process_image_data_ajax_callback' ] ); add_action( 'wp_ajax_kadence_import_process_pattern', [ $this, 'process_pattern_ajax_callback' ] ); add_action( 'wp_ajax_kadence_subscribe_process_data', [ $this, 'process_subscribe_ajax_callback' ] ); } // Add a cleanup routine. $this->schedule_cleanup(); add_filter( 'cron_schedules', [ $this, 'add_monthly_to_cron_schedule' ], 10, 1 ); add_action( 'delete_block_library_folder', [ $this, 'delete_block_library_folder' ] ); } /** * Get the section data if available locally. */ public function get_section_prebuilt_data( $pro_data ) { $pro_key = ( isset( $pro_data['api_key'] ) && ! empty( $pro_data['api_key'] ) ? $pro_data['api_key'] : '' ); $api_email = ( isset( $pro_data['api_email'] ) && ! empty( $pro_data['api_email'] ) ? $pro_data['api_email'] : '' ); $product_id = ( isset( $pro_data['product_id'] ) && ! empty( $pro_data['product_id'] ) ? $pro_data['product_id'] : '' ); if ( empty( $pro_key ) ) { $pro_key = ( isset( $pro_data['ithemes_key'] ) && ! empty( $pro_data['ithemes_key'] ) ? $pro_data['ithemes_key'] : '' ); if ( $pro_key ) { $api_email = 'iThemes'; } } $this->api_key = $pro_key; $this->api_email = $api_email; $this->product_id = $product_id; $this->product_slug = ( ! empty( $pro_data['product_slug'] ) ? $pro_data['product_slug'] : '' ); $this->package = 'section'; $this->url = $this->remote_url; $this->key = 'section'; // Do you have the data? $get_data = $this->get_only_local_template_data(); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. return false; } return $get_data; } /** * Get the section data if available locally. */ public function get_page_prebuilt_data( $pro_data ) { $pro_key = ( isset( $pro_data['api_key'] ) && ! empty( $pro_data['api_key'] ) ? $pro_data['api_key'] : '' ); $api_email = ( isset( $pro_data['api_email'] ) && ! empty( $pro_data['api_email'] ) ? $pro_data['api_email'] : '' ); $product_id = ( isset( $pro_data['product_id'] ) && ! empty( $pro_data['product_id'] ) ? $pro_data['product_id'] : '' ); if ( empty( $pro_key ) ) { $pro_key = ( isset( $pro_data['ithemes_key'] ) && ! empty( $pro_data['ithemes_key'] ) ? $pro_data['ithemes_key'] : '' ); if ( $pro_key ) { $api_email = 'iThemes'; } } $this->api_key = $pro_key; $this->api_email = $api_email; $this->product_id = $product_id; $this->product_slug = ( ! empty( $pro_data['product_slug'] ) ? $pro_data['product_slug'] : '' ); $this->package = 'pages'; $this->url = $this->remote_pages_url; $this->key = 'pages'; // Do you have the data? $get_data = $this->get_only_local_template_data(); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. return false; } return $get_data; } /** * Get the local data file if there. * * @access public * @return string */ public function get_only_local_template_data( $skip_local = false ) { // If the local file exists, return it's data. return file_exists( $this->get_local_template_data_path() ) ? $this->get_local_template_data_contents() : ''; } /** * Get the local data file if there, else query the api. * * @access public * @return string */ public function get_template_data( $skip_local = false ) { if ( 'custom' === $this->package ) { return wp_json_encode( apply_filters( 'kadence_block_library_custom_array', [] ) ); } // Check if the local data file exists. (true means the file doesn't exist). if ( $skip_local || $this->local_file_exists() ) { // Attempt to create the file. if ( $this->create_template_data_file( $skip_local ) ) { return $this->get_local_template_data_contents(); } } // // If it's empty lets try to get the data. // if ( '[]' === $this->get_local_template_data_contents() ) { // if ( $this->create_template_data_file( $skip_local ) ) { // return $this->get_local_template_data_contents(); // } // } // If it's a Kadence Pattern Hub connect, lets make sure it's within date. if ( 'templates' !== $this->package && 'pages' !== $this->package && 'section' !== $this->package && ! $this->is_template ) { $cloud_settings = json_decode( get_option( 'kadence_blocks_cloud' ), true ); if ( isset( $cloud_settings['connections'] ) && isset( $cloud_settings['connections'][ $this->package ] ) && isset( $cloud_settings['connections'][ $this->package ]['expires'] ) && ! empty( $cloud_settings['connections'][ $this->package ]['expires'] ) ) { $expires = strtotime( get_date_from_gmt( $cloud_settings['connections'][ $this->package ]['expires'] ) ); $now = strtotime( get_date_from_gmt( current_time( 'Y-m-d H:i:s' ) ) ); if ( $expires < $now ) { $refresh = ( isset( $cloud_settings['connections'][ $this->package ]['refresh'] ) && ! empty( $cloud_settings['connections'][ $this->package ]['refresh'] ) ? $cloud_settings['connections'][ $this->package ]['refresh'] : 'month' ); if ( 'day' === $refresh ) { $expires_add = DAY_IN_SECONDS; } elseif ( 'week' === $refresh ) { $expires_add = WEEK_IN_SECONDS; } else { $expires_add = MONTH_IN_SECONDS; } $cloud_settings['connections'][ $this->package ]['expires'] = gmdate( 'Y-m-d H:i:s', strtotime( current_time() ) + $expires_add ); update_option( 'kadence_blocks_cloud', json_encode( $cloud_settings ) ); if ( $this->create_template_data_file( true ) ) { return $this->get_local_template_data_contents(); } } } } // If the local file exists, return it's data. return file_exists( $this->get_local_template_data_path() ) ? $this->get_local_template_data_contents() : ''; } /** * Write the data to the filesystem. * * @access protected * @return string|false Returns the absolute path of the file on success, or false on fail. */ protected function create_template_data_file( $skip_local ) { $file_path = $this->get_local_template_data_path(); $filesystem = $this->get_filesystem(); // If the folder doesn't exist, create it. if ( ! file_exists( $this->get_block_library_folder() ) ) { $chmod_dir = ( 0755 & ~ umask() ); if ( defined( 'FS_CHMOD_DIR' ) ) { $chmod_dir = FS_CHMOD_DIR; } $this->get_filesystem()->mkdir( $this->get_block_library_folder(), $chmod_dir ); } // If the file doesn't exist, create it. Return false if it can not be created. if ( ! $filesystem->exists( $file_path ) && ! $filesystem->touch( $file_path ) ) { return false; } // If we got this far, we need to write the file. // Get the data. if ( $skip_local || ! $this->data ) { $this->get_data(); } // Put the contents in the file. Return false if that fails. if ( ! $filesystem->put_contents( $file_path, $this->data ) ) { return false; } return $file_path; } /** * Get data. * * @access public * @return string */ public function get_data() { // Get the remote URL contents. $this->data = $this->get_remote_url_contents(); return $this->data; } /** * Get local data contents. * * @access public * @return string|false Returns the data contents. */ public function get_local_template_data_contents() { $local_path = $this->get_local_template_data_path(); // Check if the local exists. (true means the file doesn't exist). if ( $this->local_file_exists() ) { return false; } return file_get_contents( $local_path ); } /** * Get remote file contents. * * @access public * @return string Returns the remote URL contents. */ public function get_remote_url_contents() { $site_url = \KadenceWP\KadenceBlocks\StellarWP\Uplink\get_original_domain(); $args = [ 'key' => $this->key, 'site' => $site_url, ]; if ( 'templates' === $this->package || 'section' === $this->package || 'pages' === $this->package || $this->is_template ) { if ( ! empty( $this->api_email ) ) { $args['api_email'] = $this->api_email; } if ( ! empty( $this->api_key ) ) { $args['api_key'] = $this->api_key; } if ( ! empty( $this->product_id ) ) { $args['product_id'] = $this->product_id; } if ( ! empty( $this->product_slug ) ) { $args['product_slug'] = $this->product_slug; } $args['site_url'] = $site_url; if ( 'iThemes' === $this->api_email ) { if ( is_callable( 'network_home_url' ) ) { $site_url = network_home_url( '', 'http' ); } else { $site_url = get_bloginfo( 'url' ); } $site_url = preg_replace( '/^https/', 'http', $site_url ); $site_url = preg_replace( '|/$|', '', $site_url ); $args['site_url'] = $site_url; } } if ( 'templates' === $this->package ) { $args['request'] = 'blocks'; } // Get the response. $api_url = add_query_arg( $args, $this->url ); $response = wp_safe_remote_get( $api_url, [ 'timeout' => 20, ] ); // Early exit if there was an error. if ( is_wp_error( $response ) ) { return ''; } // Get the CSS from our response. $contents = wp_remote_retrieve_body( $response ); // Early exit if there was an error. if ( is_wp_error( $contents ) ) { return; } return $contents; } /** * Check if the local file exists. * * @access public * @return bool */ public function local_file_exists() { return ( ! file_exists( $this->get_local_template_data_path() ) ); } /** * Get the data path. * * @access public * @return string */ public function get_local_template_data_path() { if ( ! $this->local_template_data_path ) { $this->local_template_data_path = $this->get_block_library_folder() . '/' . $this->get_local_template_data_filename() . '.json'; } return $this->local_template_data_path; } /** * Get the local data filename. * * This is a hash, generated from the site-URL, the wp-content path and the URL. * This way we can avoid issues with sites changing their URL, or the wp-content path etc. * * @access public * @return string */ public function get_local_template_data_filename() { $kb_api = 'free'; if ( class_exists( 'Kadence_Blocks_Pro' ) ) { $kbp_data = kadence_blocks_get_current_license_key(); if ( ! empty( $kbp_data ) ) { $kb_api = $kbp_data; } } if ( 'templates' !== $this->package && 'section' !== $this->package && ! $this->is_template && $this->key ) { $kb_api = $this->key; } return md5( $this->get_base_url() . $this->get_base_path() . $this->package . KADENCE_BLOCKS_VERSION . $kb_api ); } /** * Main AJAX callback function for: * 1). get local data if there * 2). query api for data if needed * 3). import content * 4). execute 'after content import' actions (before widget import WP action, widget import, customizer import, after import WP action) */ public function prebuilt_connection_info_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $this->local_template_data_path = ''; $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->api_email = empty( $_POST['api_email'] ) ? '' : sanitize_text_field( $_POST['api_email'] ); $this->package = empty( $_POST['package'] ) ? 'section' : sanitize_text_field( $_POST['package'] ); $this->url = empty( $_POST['url'] ) ? '' : rtrim( sanitize_text_field( $_POST['url'] ), '/' ) . '/wp-json/kadence-cloud/v1/info/'; $this->key = empty( $_POST['key'] ) ? 'section' : sanitize_text_field( $_POST['key'] ); // Do you have the data? $get_data = $this->get_connection_data(); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No Connection data', 'kadence-blocks' ) ); } elseif ( isset( $get_data['error'] ) && $get_data['error'] ) { wp_send_json( ( ! empty( $get_data['message'] ) ? $get_data['message'] : esc_html__( 'No Connection data available', 'kadence-blocks' ) ) ); } else { // Sanitize the connection data. $temp_data = json_decode( $get_data, true ); if ( ! is_array( $temp_data ) ) { wp_send_json( $temp_data ); } $final_data = []; $final_data['name'] = ! empty( $temp_data['name'] ) ? sanitize_text_field( $temp_data['name'] ) : ''; $final_data['slug'] = ! empty( $temp_data['slug'] ) ? sanitize_text_field( $temp_data['slug'] ) : ''; $final_data['refresh'] = ! empty( $temp_data['refresh'] ) ? sanitize_text_field( $temp_data['refresh'] ) : ''; $final_data['expires'] = ! empty( $temp_data['expires'] ) ? sanitize_text_field( $temp_data['expires'] ) : ''; $final_data['pages'] = ! empty( $temp_data['pages'] ) ? sanitize_text_field( $temp_data['pages'] ) : ''; if ( ! empty( $final_data['name'] ) ) { wp_send_json( $final_data ); } wp_send_json( esc_html__( 'No Connection data available', 'kadence-blocks' ) ); } die; } /** * Get the local data file if there, else query the api. * * @access public * @return string */ public function get_connection_data( $skip_local = false ) { $site_url = \KadenceWP\KadenceBlocks\StellarWP\Uplink\get_original_domain(); $args = [ 'key' => $this->key, 'site' => $site_url, ]; // Get the response. $api_url = add_query_arg( $args, $this->url ); $response = wp_safe_remote_get( $api_url, [ 'timeout' => 20, ] ); // Early exit if there was an error. if ( is_wp_error( $response ) ) { // Return the error. return [ 'error' => true, 'message' => $response->get_error_message() ]; } // Get the CSS from our response. $contents = wp_remote_retrieve_body( $response ); // Early exit if there was an error. if ( is_wp_error( $contents ) ) { return [ 'error' => true, 'message' => $contents->get_error_message() ]; } return $contents; } /** * Main AJAX callback function for: * 1). get local data if there * 2). query api for data if needed * 3). import content * 4). execute 'after content import' actions (before widget import WP action, widget import, customizer import, after import WP action) */ public function prebuilt_data_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $this->local_template_data_path = ''; $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->api_email = empty( $_POST['api_email'] ) ? '' : sanitize_text_field( $_POST['api_email'] ); $this->product_id = empty( $_POST['product_id'] ) ? '' : sanitize_text_field( $_POST['product_id'] ); $this->product_slug = empty( $_POST['product_slug'] ) ? '' : sanitize_text_field( $_POST['product_slug'] ); $this->package = empty( $_POST['package'] ) ? 'section' : sanitize_text_field( $_POST['package'] ); $this->url = empty( $_POST['url'] ) ? $this->remote_url : rtrim( sanitize_text_field( $_POST['url'] ), '/' ) . '/wp-json/kadence-cloud/v1/get/'; $this->key = isset( $_POST['key'] ) && ! empty( $_POST['key'] ) ? sanitize_text_field( $_POST['key'] ) : 'section'; $this->is_template = isset( $_POST['is_template'] ) && ! empty( $_POST['is_template'] ) ? true : false; // Do you have the data? $get_data = $this->get_template_data(); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No library data', 'kadence-blocks' ) ); } else { wp_send_json( $get_data ); } die; } /** * Main AJAX callback function for getting the prebuilt templates array. */ public function prebuilt_templates_data_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $this->local_template_data_path = ''; $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->api_email = empty( $_POST['api_email'] ) ? '' : sanitize_text_field( $_POST['api_email'] ); $this->product_id = empty( $_POST['product_id'] ) ? '' : sanitize_text_field( $_POST['product_id'] ); $this->product_slug = empty( $_POST['product_slug'] ) ? '' : sanitize_text_field( $_POST['product_slug'] ); $this->package = 'templates'; $this->url = $this->remote_templates_url; $this->key = 'blocks'; // Do you have the data? $get_data = $this->get_template_data(); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No library data', 'kadence-blocks' ) ); } else { wp_send_json( $get_data ); } die; } /** * Main AJAX callback function for getting the prebuilt templates array. */ public function prebuilt_pages_data_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $this->local_pages_data_path = ''; $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->api_email = empty( $_POST['api_email'] ) ? '' : sanitize_text_field( $_POST['api_email'] ); $this->product_id = empty( $_POST['product_id'] ) ? '' : sanitize_text_field( $_POST['product_id'] ); $this->product_slug = empty( $_POST['product_slug'] ) ? '' : sanitize_text_field( $_POST['product_slug'] ); $this->package = 'pages'; $this->url = $this->remote_pages_url; $this->key = 'pages'; // Do you have the data? $get_data = $this->get_template_data(); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No library data', 'kadence-blocks' ) ); } else { wp_send_json( $get_data ); } die; } /** * Main AJAX callback function for: * 1). get local data if there * 2). query api for data if needed * 3). import content * 4). execute 'after content import' actions (before widget import WP action, widget import, customizer import, after import WP action) */ public function prebuilt_templates_data_reload_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $this->local_template_data_path = ''; $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->api_email = empty( $_POST['api_email'] ) ? '' : sanitize_text_field( $_POST['api_email'] ); $this->product_id = empty( $_POST['product_id'] ) ? '' : sanitize_text_field( $_POST['product_id'] ); $this->product_slug = empty( $_POST['product_slug'] ) ? '' : sanitize_text_field( $_POST['product_slug'] ); $this->package = 'templates'; $this->url = $this->remote_templates_url; $this->key = 'blocks'; // $removed = $this->delete_block_library_folder(); // if ( ! $removed ) { // wp_send_json_error( 'failed_to_flush' ); // } // Do you have the data? $get_data = $this->get_template_data( true ); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No library data', 'kadence-blocks' ) ); } else { wp_send_json( $get_data ); } die; } /** * Main AJAX callback function for: * 1). get local data if there * 2). query api for data if needed * 3). import content * 4). execute 'after content import' actions (before widget import WP action, widget import, customizer import, after import WP action) */ public function prebuilt_pages_data_reload_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $this->local_pages_data_path = ''; $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->api_email = empty( $_POST['api_email'] ) ? '' : sanitize_text_field( $_POST['api_email'] ); $this->product_id = empty( $_POST['product_id'] ) ? '' : sanitize_text_field( $_POST['product_id'] ); $this->product_slug = empty( $_POST['product_slug'] ) ? '' : sanitize_text_field( $_POST['product_slug'] ); $this->package = 'pages'; $this->url = $this->remote_pages_url; $this->key = 'pages'; // $removed = $this->delete_block_library_folder(); // if ( ! $removed ) { // wp_send_json_error( 'failed_to_flush' ); // } // Do you have the data? $get_data = $this->get_template_data( true ); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No library data', 'kadence-blocks' ) ); } else { wp_send_json( $get_data ); } die; } /** * Ajax function for processing the import data. */ public function process_subscribe_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $email = empty( $_POST['email'] ) ? '' : sanitize_text_field( $_POST['email'] ); // Do you have the data? if ( $email && is_email( $email ) && filter_var( $email, FILTER_VALIDATE_EMAIL ) ) { list( $user, $domain ) = explode( '@', $email ); list( $pre_domain, $post_domain ) = explode( '.', $domain ); $spell_issue_domains = [ 'gmaiil', 'gmai', 'gmaill' ]; $spell_issue_domain_ends = [ 'local', 'comm', 'orgg', 'cmm' ]; if ( in_array( $pre_domain, $spell_issue_domain_ends, true ) ) { return wp_send_json( 'emailDomainPreError' ); } if ( in_array( $post_domain, $spell_issue_domain_ends, true ) ) { return wp_send_json( 'emailDomainPostError' ); } $args = [ 'email' => $email, 'tag' => 'wire', ]; // Get the response. $api_url = add_query_arg( $args, 'https://www.kadencewp.com/kadence-blocks/wp-json/kadence-subscribe/v1/subscribe/' ); $response = wp_safe_remote_get( $api_url, [ 'timeout' => 20, ] ); // Early exit if there was an error. if ( is_wp_error( $response ) ) { return wp_send_json( 'retryError' ); } // Get the CSS from our response. $contents = wp_remote_retrieve_body( $response ); // Early exit if there was an error. if ( is_wp_error( $contents ) ) { return wp_send_json( 'retryError' ); } if ( ! $contents ) { // Send JSON Error response to the AJAX call. wp_send_json( 'retryError' ); } else { wp_send_json( $contents ); } } // Send JSON Error response to the AJAX call. wp_send_json( 'emailError' ); die; } /** * Ajax function for processing the import data. */ public function process_pattern_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $data = empty( $_POST['import_content'] ) ? '' : stripslashes( $_POST['import_content'] ); $data = $this->process_pattern_content( $data ); if ( ! $data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No data', 'kadence-blocks' ) ); } else { wp_send_json( $data ); } die; } public function process_image_data_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $content = empty( $_POST['import_content'] ) ? '' : stripslashes( $_POST['import_content'] ); $image_library = empty( $_POST['image_library'] ) ? '' : json_decode( $_POST['image_library'], true ); $data = $this->process_image_content( $content, $image_library ); if ( ! $data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No data', 'kadence-blocks' ) ); } else { wp_send_json( $data ); } die; } /** * Download and Replace images * * @param string $content the import post content. */ public function process_image_content( $content = '', $image_library = '' ) { // error_log( print_r( $image_library, true ) ); // Find all urls. preg_match_all( '/https?:\/\/[^\'" ]+/i', $content, $match ); // preg_match_all( '#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $content, $match ); $all_urls = array_unique( $match[0] ); if ( empty( $all_urls ) ) { return $content; } $map_urls = []; $image_urls = []; // Find all the images. foreach ( $all_urls as $key => $link ) { if ( $this->check_for_image( $link ) ) { // Avoid srcset images. if ( false === strpos( $link, '-150x' ) && false === strpos( $link, '-300x' ) && false === strpos( $link, '-1024x' ) ) { $image_urls[] = $link; } } } // Process images. if ( ! empty( $image_urls ) ) { foreach ( $image_urls as $key => $image_url ) { // Download remote image. $image = [ 'url' => $image_url, 'id' => 0, ]; if ( substr( $image_url, 0, strlen( 'https://images.pexels.com' ) ) === 'https://images.pexels.com' ) { $image_data = $this->get_image_info( $image_library, $image_url ); if ( $image_data ) { $image['alt'] = $image_data['alt']; $image['photographer'] = $image_data['photographer']; $image['photographer_url'] = $image_data['photographer_url']; $image['alt'] = $image_data['alt']; $image['title'] = __( 'Photo by', 'kadence-blocks' ) . ' ' . $image_data['photographer']; } } $downloaded_image = $this->import_image( $image ); $map_urls[ $image_url ] = $downloaded_image['url']; } } // Replace images in content. foreach ( $map_urls as $old_url => $new_url ) { $content = str_replace( $old_url, $new_url, $content ); // Replace the slashed URLs if any exist. $old_url = str_replace( '/', '/\\', $old_url ); $new_url = str_replace( '/', '/\\', $new_url ); $content = str_replace( $old_url, $new_url, $content ); } return $content; } /** * Ajax function for processing the import data. */ public function process_data_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $data = empty( $_POST['import_content'] ) ? '' : stripslashes( $_POST['import_content'] ); $import_library = empty( $_POST['import_library'] ) ? 'standard' : sanitize_text_field( $_POST['import_library'] ); $import_type = empty( $_POST['import_type'] ) ? 'pattern' : sanitize_text_field( $_POST['import_type'] ); $import_id = empty( $_POST['import_item_id'] ) ? '' : sanitize_text_field( $_POST['import_item_id'] ); $import_style = empty( $_POST['import_style'] ) ? 'normal' : sanitize_text_field( $_POST['import_style'] ); $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->package = empty( $_POST['package'] ) ? 'section' : sanitize_text_field( $_POST['package'] ); $this->url = empty( $_POST['url'] ) ? $this->remote_url : rtrim( sanitize_text_field( $_POST['url'] ), '/' ) . '/wp-json/kadence-cloud/v1/get/'; $this->key = isset( $_POST['key'] ) && ! empty( $_POST['key'] ) ? sanitize_text_field( $_POST['key'] ) : 'section'; $data = $this->process_content( $data, $import_library, $import_type, $import_id, $import_style ); if ( ! $data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No data', 'kadence-blocks' ) ); } else { wp_send_json( $data ); } die; } /** * Download and Replace images * * @param string $content the import post content. */ public function process_pattern_content( $content = '' ) { // Find all urls. preg_match_all( '#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $content, $match ); $all_urls = array_unique( $match[0] ); if ( empty( $all_urls ) ) { return $content; } $map_urls = []; $image_urls = []; // Find all the images. foreach ( $all_urls as $key => $link ) { if ( $this->check_for_image( $link ) ) { // Avoid srcset images. if ( false === strpos( $link, '-150x' ) && false === strpos( $link, '-300x' ) && false === strpos( $link, '-1024x' ) ) { $image_urls[] = $link; } } } // Process images. if ( ! empty( $image_urls ) ) { foreach ( $image_urls as $key => $image_url ) { // Download remote image. $image = [ 'url' => $image_url, 'id' => 0, ]; $downloaded_image = $this->import_image( $image ); $map_urls[ $image_url ] = $downloaded_image['url']; } } // Replace images in content. foreach ( $map_urls as $old_url => $new_url ) { $content = str_replace( $old_url, $new_url, $content ); // Replace the slashed URLs if any exist. $old_url = str_replace( '/', '/\\', $old_url ); $new_url = str_replace( '/', '/\\', $new_url ); $content = str_replace( $old_url, $new_url, $content ); } return $content; } /** * Download and Replace images * * @param string $content the import post content. */ public function process_content( $content = '', $import_library = '', $import_type = '', $import_id = '', $import_style = '' ) { $content = $this->process_individual_import( $content, $import_library, $import_type, $import_id, $import_style ); // Find all urls. preg_match_all( '#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $content, $match ); $all_urls = array_unique( $match[0] ); if ( empty( $all_urls ) ) { return $content; } $map_urls = []; $image_urls = []; // Find all the images. foreach ( $all_urls as $key => $link ) { if ( $this->check_for_image( $link ) ) { // Avoid srcset images. if ( false === strpos( $link, '-150x' ) && false === strpos( $link, '-300x' ) && false === strpos( $link, '-1024x' ) ) { $image_urls[] = $link; } } } // Process images. if ( ! empty( $image_urls ) ) { foreach ( $image_urls as $key => $image_url ) { // Download remote image. $image = [ 'url' => $image_url, 'id' => 0, ]; $downloaded_image = $this->import_image( $image ); $map_urls[ $image_url ] = $downloaded_image['url']; } } // Replace images in content. foreach ( $map_urls as $old_url => $new_url ) { $content = str_replace( $old_url, $new_url, $content ); // Replace the slashed URLs if any exist. $old_url = str_replace( '/', '/\\', $old_url ); $new_url = str_replace( '/', '/\\', $new_url ); $content = str_replace( $old_url, $new_url, $content ); } return $content; } /** * Import an image. * * @param array $image_data the image data to import. */ public function import_image( $image_data ) { $local_image = $this->check_for_local_image( $image_data ); if ( $local_image['status'] ) { return $local_image['image']; } $filename = basename( $image_data['url'] ); $image_path = $image_data['url']; // Check if the image is from Pexels and get the filename. if ( substr( $image_data['url'], 0, strlen( 'https://images.pexels.com' ) ) === 'https://images.pexels.com' ) { $image_path = parse_url( $image_data['url'], PHP_URL_PATH ); $filename = basename( $image_path ); } $info = wp_check_filetype( $image_path ); $ext = empty( $info['ext'] ) ? '' : $info['ext']; $type = empty( $info['type'] ) ? '' : $info['type']; // If we don't allow uploading the file type or ext, return. if ( ! $type || ! $ext ) { return $image_data; } $file_content = wp_remote_retrieve_body( wp_safe_remote_get( $image_data['url'], [ 'timeout' => '60', 'sslverify' => false, ] ) ); // Empty file content? if ( empty( $file_content ) ) { return $image_data; } $upload = wp_upload_bits( $filename, null, $file_content ); $post = [ 'post_title' => ( ! empty( $image_data['title'] ) ? $image_data['title'] : $filename ), 'guid' => $upload['url'], ]; $post['post_mime_type'] = $type; if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) { include ABSPATH . 'wp-admin/includes/image.php'; } $post_id = wp_insert_attachment( $post, $upload['file'] ); wp_update_attachment_metadata( $post_id, wp_generate_attachment_metadata( $post_id, $upload['file'] ) ); if ( ! empty( $image_data['alt'] ) ) { update_post_meta( $post_id, '_wp_attachment_image_alt', $image_data['alt'] ); } if ( ! empty( $image_data['photographer'] ) ) { update_post_meta( $post_id, '_pexels_photographer', $image_data['photographer'] ); } if ( ! empty( $image_data['photographer_url'] ) ) { update_post_meta( $post_id, '_pexels_photographer_url', $image_data['photographer_url'] ); } update_post_meta( $post_id, '_kadence_blocks_image_hash', sha1( $image_data['url'] ) ); return [ 'id' => $post_id, 'url' => $upload['url'], ]; } /** * Check if image is already imported. * * @param array $image_data the image data to import. */ public function check_for_local_image( $image_data ) { global $wpdb; // Thanks BrainstormForce for this idea. // Check if image is already local based on meta key and custom hex value. $image_id = $wpdb->get_var( $wpdb->prepare( 'SELECT `post_id` FROM `' . $wpdb->postmeta . '` WHERE `meta_key` = \'_kadence_blocks_image_hash\' AND `meta_value` = %s ;', sha1( $image_data['url'] ) ) ); if ( $image_id ) { $local_image = [ 'id' => $image_id, 'url' => wp_get_attachment_url( $image_id ), ]; return [ 'status' => true, 'image' => $local_image, ]; } return [ 'status' => false, 'image' => $image_data, ]; } /** * Check if link is for an image. * * @param string $link url possibly to an image. */ public function check_for_image( $link = '' ) { if ( empty( $link ) ) { return false; } if ( substr( $link, 0, strlen( 'https://images.pexels.com' ) ) === 'https://images.pexels.com' ) { return true; } return preg_match( '/^((https?:\/\/)|(www\.))([a-z0-9-].?)+(:[0-9]+)?\/[\w\-]+\.(jpg|png|gif|webp|jpeg)\/?$/i', $link ); } /** * Get information for our image. * * @param array $images the image url. * @param string $target_src the image url. */ public function get_image_info( $images, $target_src ) { foreach ( $images['data'] as $image_group ) { foreach ( $image_group['images'] as $image ) { foreach ( $image['sizes'] as $size ) { if ( $size['src'] === $target_src ) { return [ 'alt' => $image['alt'], 'photographer' => $image['photographer'], 'photographer_url' => $image['photographer_url'], ]; break; } } } } return false; } /** * Ajax function for processing the import data. */ public function process_individual_import( $content, $import_library, $import_type, $import_id, $import_style ) { if ( isset( $import_library ) && 'pattern' === $import_library ) { $args = [ 'type' => $import_type, 'id' => $import_id, 'style' => $import_style, 'library' => $import_library, 'key' => $this->key, ]; // Get the response. $api_url = add_query_arg( $args, 'https://patterns.startertemplatecloud.com/wp-json/kadence-cloud/v1/single/' ); $response = wp_safe_remote_get( $api_url, [ 'timeout' => 20, ] ); // Early exit if there was an error. if ( is_wp_error( $response ) ) { return $content; } // Get the CSS from our response. $contents = wp_remote_retrieve_body( $response ); // Early exit if there was an error. if ( is_wp_error( $contents ) ) { return $content; } if ( ! $contents ) { // Send JSON Error response to the AJAX call. return $content; } else { return $contents; } } return $content; } /** * Check if the AJAX call is valid. */ public static function verify_ajax_call() { check_ajax_referer( 'kadence-blocks-ajax-verification', 'security' ); // Make sure we are working with a user that can edit posts. if ( ! current_user_can( 'edit_posts' ) ) { wp_die( -1, 403 ); } } /** * Main AJAX callback function for: * 1). get local data if there * 2). query api for data if needed * 3). import content * 4). execute 'after content import' actions (before widget import WP action, widget import, customizer import, after import WP action) */ public function prebuilt_data_reload_ajax_callback() { // Verify if the AJAX call is valid (checks nonce and current_user_can). $this->verify_ajax_call(); $this->local_template_data_path = ''; $this->api_key = empty( $_POST['api_key'] ) ? '' : sanitize_text_field( $_POST['api_key'] ); $this->api_email = empty( $_POST['api_email'] ) ? '' : sanitize_text_field( $_POST['api_email'] ); $this->product_id = empty( $_POST['product_id'] ) ? '' : sanitize_text_field( $_POST['product_id'] ); $this->product_slug = empty( $_POST['product_slug'] ) ? '' : sanitize_text_field( $_POST['product_slug'] ); $this->package = empty( $_POST['package'] ) ? 'section' : sanitize_text_field( $_POST['package'] ); $this->url = empty( $_POST['url'] ) ? $this->remote_url : rtrim( sanitize_text_field( $_POST['url'] ), '/' ) . '/wp-json/kadence-cloud/v1/get/'; $this->key = empty( $_POST['key'] ) ? 'section' : sanitize_text_field( $_POST['key'] ); $this->is_template = isset( $_POST['is_template'] ) && ! empty( $_POST['is_template'] ) ? true : false; // $removed = $this->delete_block_library_folder(); // if ( ! $removed ) { // wp_send_json_error( 'failed_to_flush' ); // } // Do you have the data? $get_data = $this->get_template_data( true ); if ( ! $get_data ) { // Send JSON Error response to the AJAX call. wp_send_json( esc_html__( 'No library data', 'kadence-blocks' ) ); } else { wp_send_json( $get_data ); } die; } /** * Get Importer Array. * * Used durning import to get information from the json. * * @access public * @param string $slug the template slug. * @param string $type the template type. * @return array */ public function get_importer_files( $slug, $type ) { $this->package = $type; $get_data = $this->get_template_data(); if ( ! $get_data ) { return []; } $data = json_decode( $get_data, true ); if ( isset( $data[ $slug ] ) ) { return $data; } return []; } /** * Schedule a cleanup. * * Deletes the templates files on a regular basis. * This way templates get updated regularly. * * @access public * @return void */ public function schedule_cleanup() { if ( ! is_multisite() || ( is_multisite() && is_main_site() ) ) { if ( ! wp_next_scheduled( 'delete_block_library_folder' ) && ! wp_installing() ) { wp_schedule_event( time(), self::CLEANUP_FREQUENCY, 'delete_block_library_folder' ); } } } /** * Add Monthly to Schedule. * * @param array $schedules the current schedules. * @access public */ public function add_monthly_to_cron_schedule( $schedules ) { // Adds once monthly to the existing schedules. if ( ! isset( $schedules[ self::CLEANUP_FREQUENCY ] ) ) { $schedules[ self::CLEANUP_FREQUENCY ] = [ 'interval' => MONTH_IN_SECONDS, 'display' => __( 'Once Monthly', 'kadence-blocks' ), ]; } return $schedules; } /** * Delete the fonts folder. * * This runs as part of a cleanup routine. * * @access public * @return bool */ public function delete_block_library_folder() { if ( file_exists( $this->get_old_block_library_folder() ) ) { $this->get_filesystem()->delete( $this->get_old_block_library_folder(), true ); } return $this->get_filesystem()->delete( $this->get_block_library_folder(), true ); } /** * Get the old folder for templates data. * * @access public * @return string */ public function get_old_block_library_folder() { return trailingslashit( $this->get_filesystem()->wp_content_dir() ) . 'kadence_blocks_library'; } /** * Get the folder for templates data. * * @access public * @return string */ public function get_block_library_folder() { if ( ! $this->block_library_folder ) { $this->block_library_folder = $this->get_base_path(); if ( $this->get_subfolder_name() ) { $this->block_library_folder .= $this->get_subfolder_name(); } } return $this->block_library_folder; } /** * Get the subfolder name. * * @access public * @return string */ public function get_subfolder_name() { if ( ! $this->subfolder_name ) { $this->subfolder_name = apply_filters( 'kadence_block_library_local_data_subfolder_name', 'kadence_blocks_library' ); } return $this->subfolder_name; } /** * Get the base path. * * @access public * @return string */ public function get_base_path() { if ( ! $this->base_path ) { $upload_dir = wp_upload_dir(); $this->base_path = apply_filters( 'kadence_block_library_local_data_base_path', trailingslashit( $upload_dir['basedir'] ) ); } return $this->base_path; } /** * Get the base URL. * * @access public * @return string */ public function get_base_url() { if ( ! $this->base_url ) { $this->base_url = apply_filters( 'kadence_block_library_local_data_base_url', content_url() ); } return $this->base_url; } /** * Get the filesystem. * * @access protected * @return WP_Filesystem */ protected function get_filesystem() { global $wp_filesystem; // If the filesystem has not been instantiated yet, do it here. if ( ! $wp_filesystem ) { if ( ! function_exists( 'WP_Filesystem' ) ) { require_once wp_normalize_path( ABSPATH . '/wp-admin/includes/file.php' ); } $wpfs_creds = apply_filters( 'kadence_wpfs_credentials', false ); WP_Filesystem( $wpfs_creds ); } return $wp_filesystem; } } Kadence_Blocks_Prebuilt_Library::get_instance(); /** * Class to Build the Single Icon Block. * * @package Kadence Blocks */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class to Build the Single Icon Block. * * @category class */ class Kadence_Blocks_Single_Icon_Block extends Kadence_Blocks_Abstract_Block { /** * Instance of this class * * @var null */ private static $instance = null; /** * Block name within this namespace. * * @var string */ protected $block_name = 'single-icon'; /** * Block determines if styles need to be loaded for block. * * @var string */ protected $has_style = false; /** * Instance Control */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Builds CSS for block. * * @param array $attributes the blocks attributes. * @param string $css the css class for blocks. * @param string $unique_id the blocks attr ID. * @param string $unique_style_id the blocks alternate ID for queries. */ public function build_css( $attributes, $css, $unique_id, $unique_style_id ) { $css->set_style_id( 'kb-' . $this->block_name . $unique_style_id ); if ( isset( $attributes ) && is_array( $attributes ) ) { $css->set_selector( '.kt-svg-item-' . $unique_id . ' .kb-svg-icon-wrap, .kt-svg-style-stacked.kt-svg-item-' . $unique_id . ' .kb-svg-icon-wrap' ); $css->render_color_output( $attributes, 'color', 'color' ); // Match icon default size if not set. if ( ! isset( $attributes['size'] ) ) { $attributes['size'] = 50; } $css->render_responsive_size( $attributes, array( 'size', 'tabletSize', 'mobileSize', ), 'font-size' ); $css->render_measure_output( $attributes, 'margin', 'margin', array( 'unit_key' => 'marginUnit' ) ); if ( isset( $attributes['style'] ) && 'stacked' === $attributes['style'] ) { $css->render_color_output( $attributes, 'background', 'background' ); $css->render_color_output( $attributes, 'border', 'border-color' ); $css->render_range( $attributes, 'borderWidth', 'border-width' ); $css->render_range( $attributes, 'borderRadius', 'border-radius', '%' ); $css->render_measure_output( $attributes, 'padding', 'padding', array( 'unit_key' => 'paddingUnit' ) ); $css->set_selector( '.kt-svg-item-' . $unique_id . ':hover .kb-svg-icon-wrap' ); $css->render_color_output( $attributes, 'hBackground', 'background' ); $css->render_color_output( $attributes, 'hBorder', 'border-color' ); } // Hover. $css->set_selector( '.kt-svg-item-' . $unique_id . ':hover .kb-svg-icon-wrap' ); $css->render_color_output( $attributes, 'hColor', 'color' ); } return $css->css_output(); } /** * Return dynamically generated HTML for block * * @param $attributes * @param $unique_id * @param $content * @param WP_Block $block_instance The instance of the WP_Block class that represents the block being rendered. * * @return mixed */ public function build_html( $attributes, $unique_id, $content, $block_instance ) { if ( strpos( $content, 'kb-tooltip-hidden-content') !== false ) { $this->enqueue_script( 'kadence-blocks-tippy' ); } return $content; } /** * Registers scripts and styles. */ public function register_scripts() { // Skip calling parent because this block does not have a dedicated CSS or JS file. // If in the backend, bail out. if ( is_admin() ) { return; } if ( apply_filters( 'kadence_blocks_check_if_rest', false ) && kadence_blocks_is_rest() ) { return; } wp_register_script( 'kadence-blocks-popper', KADENCE_BLOCKS_URL . 'includes/assets/js/popper.min.js', array(), KADENCE_BLOCKS_VERSION, true ); wp_register_script( 'kadence-blocks-tippy', KADENCE_BLOCKS_URL . 'includes/assets/js/kb-tippy.min.js', array( 'kadence-blocks-popper' ), KADENCE_BLOCKS_VERSION, true ); } } Kadence_Blocks_Single_Icon_Block::get_instance(); /* * jQuery UI Slider 1.8.9.rtl.1 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Slider * * Depends: * jquery.ui.core.js * jquery.ui.mouse.js * jquery.ui.widget.js */ (function($,g){var h=5;$.widget("ui.slider",$.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",isRTL:false,range:false,step:1,value:0,values:null},_create:function(){var f=this,o=this.options;this._keySliding=false;this._mouseSliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider"+" ui-slider-"+this.orientation+(o.isRTL?" ui-slider-rtl":"")+" ui-widget"+" ui-widget-content"+" ui-corner-all");if(o.disabled){this.element.addClass("ui-slider-disabled ui-disabled")}this.range=$([]);if(o.range){if(o.range===true){this.range=$("
");if(!o.values){o.values=[this._valueMin(),this._valueMin()]}if(o.values.length&&o.values.length!==2){o.values=[o.values[0],o.values[0]]}}else{this.range=$("
")}this.range.appendTo(this.element).addClass("ui-slider-range");if(o.range==="min"||o.range==="max"){this.range.addClass("ui-slider-range-"+o.range)}this.range.addClass("ui-widget-header")}if($(".ui-slider-handle",this.element).length===0){$("
").appendTo(this.element).addClass("ui-slider-handle")}if(o.values&&o.values.length){while($(".ui-slider-handle",this.element).length").appendTo(this.element).addClass("ui-slider-handle")}}this.handles=$(".ui-slider-handle",this.element).addClass("ui-state-default"+" ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").on('click',function(a){a.preventDefault()}).hover(function(){if(!o.disabled){$(this).addClass("ui-state-hover")}},function(){$(this).removeClass("ui-state-hover")}).on('focus',function(){if(!o.disabled){$(".ui-slider .ui-state-focus").removeClass("ui-state-focus");$(this).addClass("ui-state-focus")}else{$(this).trigger('blur')}}).on('blur',function(){$(this).removeClass("ui-state-focus")});this.handles.each(function(i){$(this).data("index.ui-slider-handle",i)});this.handles.on('keydown',function(c){var d=true,index=$(this).data("index.ui-slider-handle"),allowed,curVal,newVal,step;if(f.options.disabled){return}switch(c.keyCode){case $.ui.keyCode.HOME:case $.ui.keyCode.END:case $.ui.keyCode.PAGE_UP:case $.ui.keyCode.PAGE_DOWN:case $.ui.keyCode.UP:case $.ui.keyCode.RIGHT:case $.ui.keyCode.DOWN:case $.ui.keyCode.LEFT:d=false;if(!f._keySliding){f._keySliding=true;$(this).addClass("ui-state-active");allowed=f._start(c,index);if(allowed===false){return}}break}step=f.options.step;if(f.options.values&&f.options.values.length){curVal=newVal=f.values(index)}else{curVal=newVal=f.value()}var e=function(a,b){if(curVal===a){return}newVal=f._trimAlignValue(curVal+b)};switch(c.keyCode){case $.ui.keyCode.HOME:newVal=f._valueMin();break;case $.ui.keyCode.END:newVal=f._valueMax();break;case $.ui.keyCode.PAGE_UP:newVal=f._trimAlignValue(curVal+((f._valueMax()-f._valueMin())/h));break;case $.ui.keyCode.PAGE_DOWN:newVal=f._trimAlignValue(curVal-((f._valueMax()-f._valueMin())/h));break;case $.ui.keyCode.UP:e(f._valueMax(),step);break;case $.ui.keyCode.RIGHT:e(f._valueMax(),f.options.isRTL?-step:step);break;case $.ui.keyCode.DOWN:e(f._valueMin(),-step);break;case $.ui.keyCode.LEFT:e(f._valueMin(),f.options.isRTL?step:-step);break}f._slide(c,index,newVal);return d}).on('keyup',function(a){var b=$(this).data("index.ui-slider-handle");if(f._keySliding){f._keySliding=false;f._stop(a,b);f._change(a,b);$(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider"+" ui-slider-horizontal"+" ui-slider-vertical"+" ui-slider-disabled"+" ui-widget"+" ui-widget-content"+" ui-corner-all").removeData("slider").off(".slider");this._mouseDestroy();return this},_mouseCapture:function(b){var o=this.options,position,normValue,distance,closestHandle,self,index,allowed,offset,mouseOverHandle;if(o.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();position={x:b.pageX,y:b.pageY};normValue=this._normValueFromMouse(position);distance=this._valueMax()-this._valueMin()+1;self=this;this.handles.each(function(i){var a=Math.abs(normValue-self.values(i));if(distance>a){distance=a;closestHandle=$(this);index=i}});if(o.range===true&&this.values(1)===o.min){index+=1;closestHandle=$(this.handles[index])}allowed=this._start(b,index);if(allowed===false){return false}this._mouseSliding=true;self._handleIndex=index;closestHandle.addClass("ui-state-active").trigger('focus');offset=closestHandle.offset();mouseOverHandle=!$(b.target).parents().addBack().is(".ui-slider-handle");this._clickOffset=mouseOverHandle?{left:0,top:0}:{left:b.pageX-offset.left-(closestHandle.width()/2),top:b.pageY-offset.top-(closestHandle.height()/2)-(parseInt(closestHandle.css("borderTopWidth"),10)||0)-(parseInt(closestHandle.css("borderBottomWidth"),10)||0)+(parseInt(closestHandle.css("marginTop"),10)||0)};if(!this.handles.hasClass("ui-state-hover")){this._slide(b,index,normValue)}this._animateOff=true;return true},_mouseStart:function(a){return true},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},normValue=this._normValueFromMouse(b);this._slide(a,this._handleIndex,normValue);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._handleIndex=null;this._clickOffset=null;this._animateOff=false;return false},_detectOrientation:function(){this.orientation=(this.options.orientation==="vertical")?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,pixelMouse,percentMouse,valueTotal,valueMouse;if(this.orientation==="horizontal"){b=this.elementSize.width;pixelMouse=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;pixelMouse=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}percentMouse=(pixelMouse/b);if(percentMouse>1){percentMouse=1}if(percentMouse<0){percentMouse=0}if(this.orientation==="vertical"){percentMouse=1-percentMouse}if(this.options.isRTL){percentMouse=1-percentMouse}valueTotal=this._valueMax()-this._valueMin();valueMouse=this._valueMin()+percentMouse*valueTotal;return this._trimAlignValue(valueMouse)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var d,newValues,allowed;if(this.options.values&&this.options.values.length){d=this.values(b?0:1);if((this.options.values.length===2&&this.options.range===true)&&((b===0&&c>d)||(b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}if(arguments.length){if(Array.isArray(arguments[0])){c=this.options.values;newValues=arguments[0];for(i=0;i=this._valueMax()){return this._valueMax()}var b=(this.options.step>0)?this.options.step:1,valModStep=(a-this._valueMin())%b;alignValue=a-valModStep;if(Math.abs(valModStep)*2>=b){alignValue+=(valModStep>0)?b:(-b)}return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=this.options.range,o=this.options,self=this,animate=(!this._animateOff)?o.animate:false,valPercent,_set={},lastValPercent,value,valueMin,valueMax;if(this.options.values&&this.options.values.length){this.handles.each(function(i,j){valPercent=(self.values(i)-self._valueMin())/(self._valueMax()-self._valueMin())*100;valPercent=(self.options.isRTL?100-valPercent:valPercent);_set[self.orientation==="horizontal"?"left":"bottom"]=valPercent+"%";$(this).stop(1,1)[animate?"animate":"css"](_set,o.animate);if(self.options.range===true){if(self.orientation==="horizontal"){if(i===0){self.range.stop(1,1)[animate?"animate":"css"](self.options.isRTL?{right:(100-valPercent)+"%"}:{left:valPercent+"%"},o.animate)}if(i===1){self.range[animate?"animate":"css"]({width:((self.options.isRTL?-1:+1)*(valPercent-lastValPercent))+"%"},{queue:false,duration:o.animate})}}else{if(i===0){self.range.stop(1,1)[animate?"animate":"css"](self.options.isRTL?{top:(100-valPercent)+"%"}:{bottom:(valPercent)+"%"},o.animate)}if(i===1){self.range[animate?"animate":"css"]({height:((self.options.isRTL?-1:+1)*(valPercent-lastValPercent))+"%"},{queue:false,duration:o.animate})}}}lastValPercent=valPercent})}else{value=this.value();valueMin=this._valueMin();valueMax=this._valueMax();valPercent=(valueMax!==valueMin)?(value-valueMin)/(valueMax-valueMin)*100:0;valPercent=(self.options.isRTL?100-valPercent:valPercent);_set[self.orientation==="horizontal"?"left":"bottom"]=valPercent+"%";this.handle.stop(1,1)[animate?"animate":"css"](_set,o.animate);if(a==="min"&&this.orientation==="horizontal"){this.range.stop(1,1)[animate?"animate":"css"]({width:(self.options.isRTL?100-valPercent:valPercent)+"%"},o.animate)}if(a==="max"&&this.orientation==="horizontal"){this.range[animate?"animate":"css"]({width:(self.options.isRTL?valPercent:100-valPercent)+"%"},{queue:false,duration:o.animate})}if(a==="min"&&this.orientation==="vertical"){this.range.stop(1,1)[animate?"animate":"css"]({height:(self.options.isRTL?100-valPercent:valPercent)+"%"},o.animate)}if(a==="max"&&this.orientation==="vertical"){this.range[animate?"animate":"css"]({height:(self.options.isRTL?valPercent:100-valPercent)+"%"},{queue:false,duration:o.animate})}}}});$.extend($.ui.slider,{version:"1.8.9"})}(jQuery));/** * Class to Build the Header Block. * * @package Kadence Blocks */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class to Build the Header Block. * * @category class */ class Kadence_Blocks_Header_Block extends Kadence_Blocks_Abstract_Block { /** * Instance of this class * * @var null */ private static $instance = null; /** * Block name within this namespace. * * @var string */ protected $block_name = 'header'; /** * Block determines in scripts need to be loaded for block. * * @var string */ protected $has_script = true; /** * Reference to the ids so we don't render inside of a render. * * @var array */ private static $seen_refs = []; /** * Array of responsive transparent settings. * * @var array */ protected $responsive_transparent_settings = []; /** * Instance Control */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Builds CSS for block. * * @param array $attributes the blocks attributes. * @param Kadence_Blocks_CSS $css the css class for blocks. * @param string $unique_id the blocks attr ID. * @param string $unique_style_id the blocks alternate ID for queries. */ public function build_css( $attributes, $css, $unique_id, $unique_style_id ) { if ( empty( $attributes['id'] ) ) { return; } $header_attributes = $this->get_attributes_with_defaults_cpt( $attributes['id'], 'kadence_header', '_kad_header_' ); $css->set_style_id( 'kb-' . $this->block_name . $unique_style_id ); $sizes = array( 'Desktop', 'Tablet', 'Mobile' ); foreach ( $sizes as $size ) { $this->sized_dynamic_styles( $css, $header_attributes, $unique_id, $size ); } $css->set_media_state( 'desktop' ); // Normal state styles.-cpt-id .kb-header-container $css->set_selector( '.wp-block-kadence-header' . $unique_id . ' .kb-header-container' ); $css->render_measure_output( $header_attributes, 'margin', 'margin', [ 'unit_key' => 'marginUnit' ] ); $css->render_measure_output( $header_attributes, 'padding', 'padding', [ 'unit_key' => 'paddingUnit' ] ); $css->render_typography( $header_attributes ); if ( ! empty( $header_attributes['pro_backdropFilterString'] ) && class_exists( 'Kadence_Blocks_Pro' ) ) { $css->set_selector( '.wp-block-kadence-header' . $unique_id . ' .kb-header-container:not(:has(.item-is-stuck)), .wp-block-kadence-header' . $unique_id . ' .item-is-stuck' ); $css->add_property( 'position', 'relative' ); $css->add_property( 'z-index', '10' ); $css->add_property( 'backdrop-filter', $header_attributes['pro_backdropFilterString'] ); } return $css->css_output(); } /** * Build up the dynamic styles for a size. * * @param string $size The size. * @return array */ public function sized_dynamic_styles( $css, $attributes, $unique_id, $size = 'Desktop' ) { $sized_attributes = $css->get_sized_attributes_auto( $attributes, $size, false ); $sized_attributes_inherit = $css->get_sized_attributes_auto( $attributes, $size ); $bg = $sized_attributes['background']; $bg_transparent = $sized_attributes['backgroundTransparent']; $bg_sticky = $sized_attributes['backgroundSticky']; $border = $sized_attributes['border']; $typography = $sized_attributes['typography']; $min_height = $css->get_inherited_value($sized_attributes['height'][0], $sized_attributes['height'][1], $sized_attributes['height'][2], $size); $max_width = $css->get_inherited_value($sized_attributes['width'][0], $sized_attributes['width'][1], $sized_attributes['width'][2], $size); $css->set_media_state( strtolower( $size ) ); // Normal state styles $css->set_selector( '.wp-block-kadence-header' . $unique_id . ' .kb-header-container' ); $css->add_property( 'border-bottom', $css->render_border( $sized_attributes['border'], 'bottom' ) ); $css->add_property( 'border-top', $css->render_border( $sized_attributes['border'], 'top' ) ); $css->add_property( 'border-left', $css->render_border( $sized_attributes['border'], 'left' ) ); $css->add_property( 'border-right', $css->render_border( $sized_attributes['border'], 'right' ) ); if ( $min_height ) { $css->add_property( 'min-height', $min_height . $sized_attributes['heightUnit'] ); } if ( $max_width ) { $css->add_property( 'max-width', $max_width . $sized_attributes['widthUnit'] ); $css->add_property( 'margin', '0 auto' ); } // Only output the border radius if it's not 0. if ( ! empty( $sized_attributes[( 'Desktop' === $size ? 'borderRadius' : 'borderRadius' . $size )][0] ) || ! empty( $sized_attributes[( 'Desktop' === $size ? 'borderRadius' : 'borderRadius' . $size )][1] ) || ! empty( $sized_attributes[( 'Desktop' === $size ? 'borderRadius' : 'borderRadius' . $size )][2] ) || ! empty( $sized_attributes[( 'Desktop' === $size ? 'borderRadius' : 'borderRadius' . $size )][3] ) ) { $css->render_measure_range( $sized_attributes, ( 'Desktop' === $size ? 'borderRadius' : 'borderRadius' . $size ), 'border-radius', '', ['unit_key' => 'borderRadiusUnit']); } if ( $sized_attributes['shadow'] && isset( $sized_attributes['shadow'][0] ) && $sized_attributes['shadow'][0]['enable'] ) { $css->add_property( 'box-shadow', $css->render_shadow( $sized_attributes['shadow'][0] ) ); } if ( ! $this->is_header_transparent( $attributes, $unique_id, $size ) ) { $css->render_background( $bg, $css ); } //transparent normal $css->set_selector( '.wp-block-kadence-header' . $unique_id . '.header-' . strtolower( $size ) . '-transparent' ); if ( $this->is_header_transparent( $attributes, $unique_id, $size ) ) { $css->render_background( $bg_transparent, $css, '--kb-transparent-header-bg' ); } $css->set_selector( '.wp-block-kadence-header' . $unique_id . '.header-' . strtolower( $size ) . '-transparent .kb-header-container' ); if ( $this->is_header_transparent( $attributes, $unique_id, $size ) ) { $css->add_property( 'border-bottom', $css->render_border( $sized_attributes['borderTransparent'], 'bottom' ) ); $css->add_property( 'border-top', $css->render_border( $sized_attributes['borderTransparent'], 'top' ) ); $css->add_property( 'border-left', $css->render_border( $sized_attributes['borderTransparent'], 'left' ) ); $css->add_property( 'border-right', $css->render_border( $sized_attributes['borderTransparent'], 'right' ) ); // Only output the border radius if it's not 0. if ( $sized_attributes['borderRadiusTransparent'][0] != 0 || ! empty( $sized_attributes['borderRadiusTransparent'][1] ) || ! empty( $sized_attributes['borderRadiusTransparent'][2] ) || ! empty( $sized_attributes['borderRadiusTransparent'][3] ) ) { $css->render_measure_range( $attributes, ( 'Desktop' === $size ? 'borderRadiusTransparent' : 'borderRadiusTransparent' . $size ), 'border-radius', '', ['unit_key' => 'borderRadiusTransparentUnit']); } } // Sticky normal $css->set_selector( '.wp-block-kadence-header' . $unique_id ); if ( $sized_attributes['isSticky'] == '1' ) { $css->render_background( $bg_sticky, $css, '--kb-stuck-header-bg' ); } $css->set_selector( '.wp-block-kadence-header' . $unique_id . ' .kb-header-container.item-is-stuck' ); if ( $sized_attributes['isSticky'] == '1' ) { $css->add_property( 'border-bottom', $css->render_border( $sized_attributes['borderSticky'], 'bottom' ) ); $css->add_property( 'border-top', $css->render_border( $sized_attributes['borderSticky'], 'top' ) ); $css->add_property( 'border-left', $css->render_border( $sized_attributes['borderSticky'], 'left' ) ); $css->add_property( 'border-right', $css->render_border( $sized_attributes['borderSticky'], 'right' ) ); // Only output the border radius if it's not 0. if ( $sized_attributes['borderRadiusSticky'][0] != 0 || ! empty( $sized_attributes['borderRadiusSticky'][1] ) || ! empty( $sized_attributes['borderRadiusSticky'][2] ) || ! empty( $sized_attributes['borderRadiusSticky'][3] ) ) { $css->render_measure_range( $attributes, ( 'Desktop' === $size ? 'borderRadiusSticky' : 'borderRadiusSticky' . $size ), 'border-radius', '', ['unit_key' => 'borderRadiusStickyUnit']); } } } /** * Build HTML for dynamic blocks * * @param $attributes * @param $unique_id * @param $content * @param WP_Block $block_instance The instance of the WP_Block class that represents the block being rendered. * * @return mixed */ public function build_html( $attributes, $unique_id, $content, $block_instance ) { if ( empty( $attributes['id'] ) ) { return ''; } $header_block = get_post( $attributes['id'] ); if ( ! $header_block || 'kadence_header' !== $header_block->post_type ) { return ''; } if ( 'publish' !== $header_block->post_status || ! empty( $header_block->post_password ) ) { return ''; } // Prevent a nav block from being rendered inside itself. if ( isset( self::$seen_refs[ $attributes['id'] ] ) ) { // WP_DEBUG_DISPLAY must only be honored when WP_DEBUG. This precedent // is set in `wp_debug_mode()`. $is_debug = WP_DEBUG && WP_DEBUG_DISPLAY; return $is_debug ? // translators: Visible only in the front end, this warning takes the place of a faulty block. __( '[block rendering halted]', 'kadence-blocks' ) : ''; } self::$seen_refs[ $attributes['id'] ] = true; $header_attributes = $this->get_attributes_with_defaults_cpt( $attributes['id'], 'kadence_header', '_kad_header_' ); $header_attributes = json_decode( json_encode( $header_attributes ), true ); // Remove the advanced Header block so it doesn't try and re-render. $content = preg_replace( '//', '', $header_block->post_content ); $content = str_replace( '', '', $content ); $content = str_replace( '', '', $content ); $content = str_replace( '', '', $content ); // Handle embeds for header block. global $wp_embed; $content = $wp_embed->run_shortcode( $content ); $content = $wp_embed->autoembed( $content ); $content = do_blocks( $content ); unset( self::$seen_refs[ $attributes['id'] ] ); // Inherit values. // Just getting a css class for access to methods. $css = Kadence_Blocks_CSS::get_instance(); $is_sticky = $css->get_inherited_value( $header_attributes['isSticky'], $header_attributes['isStickyTablet'], $header_attributes['isStickyMobile'], 'Desktop' ); $is_sticky_tablet = $css->get_inherited_value( $header_attributes['isSticky'], $header_attributes['isStickyTablet'], $header_attributes['isStickyMobile'], 'Tablet' ); $is_sticky_mobile = $css->get_inherited_value( $header_attributes['isSticky'], $header_attributes['isStickyTablet'], $header_attributes['isStickyMobile'], 'Mobile' ); $is_transparent = $this->is_header_transparent( $header_attributes, $unique_id, 'desktop' ); $is_transparent_tablet = $this->is_header_transparent( $header_attributes, $unique_id, 'tablet' ); $is_transparent_mobile = $this->is_header_transparent( $header_attributes, $unique_id, 'mobile' ); $wrapper_classes = array( 'wp-block-kadence-header' . $unique_id ); if ( $is_sticky ) { $wrapper_classes[] = 'header-desktop-sticky'; } if ( $is_sticky_tablet ) { $wrapper_classes[] = 'header-tablet-sticky'; } if ( $is_sticky_mobile ) { $wrapper_classes[] = 'header-mobile-sticky'; } if ( $is_transparent ) { $wrapper_classes[] = 'header-desktop-transparent'; } if ( $is_transparent_tablet ) { $wrapper_classes[] = 'header-tablet-transparent'; } if ( $is_transparent_mobile ) { $wrapper_classes[] = 'header-mobile-transparent'; } if ( $header_attributes['className'] ) { $wrapper_classes[] = $header_attributes['className']; } $wrapper_args = array( 'class' => implode( ' ', $wrapper_classes ), 'role' => 'banner', ); if ( $header_attributes['anchor'] ) { $wrapper_args['id'] = $header_attributes['anchor']; } if ( $header_attributes['autoTransparentSpacing'] ) { $wrapper_args['data-auto-transparent-spacing'] = $header_attributes['autoTransparentSpacing']; } if ( $is_transparent ) { $wrapper_args['data-transparent'] = $is_transparent; } if ( $is_transparent_tablet ) { $wrapper_args['data-transparent-tablet'] = $is_transparent_tablet; } if ( $is_transparent_mobile ) { $wrapper_args['data-transparent-mobile'] = $is_transparent_mobile; } if ( $header_attributes['shrinkMain'] ) { $wrapper_args['data-shrink-main'] = $header_attributes['shrinkMain']; } if ( $header_attributes['shrinkMainHeight'] ) { $wrapper_args['data-shrink-main-height'] = $header_attributes['shrinkMainHeight']; } if ( $header_attributes['shrinkMainHeightTablet'] ) { $wrapper_args['data-shrink-main-height-tablet'] = $header_attributes['shrinkMainHeightTablet']; } if ( $header_attributes['shrinkMainHeightMobile'] ) { $wrapper_args['data-shrink-main-height-mobile'] = $header_attributes['shrinkMainHeightMobile']; } if ( $header_attributes['revealScrollUp'] ) { $wrapper_args['data-reveal-scroll-up'] = $header_attributes['revealScrollUp']; } if ( $is_sticky ) { $wrapper_args['data-sticky'] = $is_sticky; $wrapper_args['data-sticky-section'] = $header_attributes['stickySection'] ?: ''; } if ( $is_sticky_tablet ) { $wrapper_args['data-sticky-tablet'] = $is_sticky_tablet; $wrapper_args['data-sticky-section-tablet'] = $header_attributes['stickySectionTablet'] ?: ''; } if ( $is_sticky_mobile ) { $wrapper_args['data-sticky-mobile'] = $is_sticky_mobile; $wrapper_args['data-sticky-section-mobile'] = $header_attributes['stickySectionMobile'] ?: ''; } if ( $header_attributes['mobileBreakpoint'] && $header_attributes['mobileBreakpoint'] !== 0 ) { $wrapper_args['data-mobile-breakpoint'] = $header_attributes['mobileBreakpoint']; } $wrapper_attributes = get_block_wrapper_attributes( $wrapper_args ); $allowed_tags = [ 'header', 'div']; $header_tag = $this->get_html_tag( $header_attributes, 'headerTag', 'header', $allowed_tags); return sprintf( '<%1$s %2$s>%3$s', $header_tag, $wrapper_attributes, $content ); } /** * Registers scripts and styles. */ public function register_scripts() { parent::register_scripts(); // If in the backend, bail out. if ( is_admin() ) { return; } if ( apply_filters( 'kadence_blocks_check_if_rest', false ) && kadence_blocks_is_rest() ) { return; } wp_register_script( 'kadence-blocks-' . $this->block_name, KADENCE_BLOCKS_URL . 'includes/assets/js/kb-header-block.min.js', array(), KADENCE_BLOCKS_VERSION, true ); wp_localize_script( 'kadence-blocks-' . $this->block_name, 'kadenceHeaderConfig', array( 'screenReader' => array( 'expand' => __( 'Child menu', 'kadence-blocks' ), 'expandOf' => __( 'Child menu of', 'kadence-blocks' ), 'collapse' => __( 'Child menu', 'kadence-blocks' ), 'collapseOf' => __( 'Child menu of', 'kadence-blocks' ), ), 'breakPoints' => array( 'desktop' => 1024, 'tablet' => 768, ), 'scrollOffset' => apply_filters( 'kadence_scroll_to_id_additional_offset', 0 ), ), ); } /** * Check if the header is transparent. * * @param array $header_attributes The block attributes. * @param string $size The size. * @return bool */ private function is_header_transparent( $header_attributes, $unique_id = 'id', $size = 'desktop' ) { if ( ! empty( $this->responsive_transparent_settings[ $unique_id ] ) && isset( $this->responsive_transparent_settings[ $unique_id ][ strtolower( $size ) ] ) ) { return $this->responsive_transparent_settings[ $unique_id ][ strtolower( $size ) ]; } $css = Kadence_Blocks_CSS::get_instance(); $block_settings = [ 'desktop' => $css->get_inherited_value( $header_attributes['isTransparent'], $header_attributes['isTransparentTablet'], $header_attributes['isTransparentMobile'], 'Desktop' ), 'tablet' => $css->get_inherited_value( $header_attributes['isTransparent'], $header_attributes['isTransparentTablet'], $header_attributes['isTransparentMobile'], 'Tablet' ), 'mobile' => $css->get_inherited_value( $header_attributes['isTransparent'], $header_attributes['isTransparentTablet'], $header_attributes['isTransparentMobile'], 'Mobile' ), ]; $transparent_postmeta_setting = $this->transparent_postmeta_setting( $header_attributes ); if ( $transparent_postmeta_setting === 'enable' ) { $block_settings = [ 'desktop' => true, 'tablet' => $block_settings['tablet'], 'mobile' => $block_settings['mobile'], ]; } elseif ( $transparent_postmeta_setting === 'disable' || ! $this->transparent_allowed_on_post_type( $header_attributes ) ) { $block_settings = [ 'desktop' => false, 'tablet' => false, 'mobile' => false, ]; } $this->responsive_transparent_settings = $block_settings; return $this->responsive_transparent_settings[ strtolower( $size ) ]; } /** * Check if the transparent header is allowed on the current post type. * * @param array $attributes The block attributes. * @param int $post_id The post ID. * @return string/null */ private function transparent_postmeta_setting( $attributes, $post_id = null ) { if ( class_exists( 'Kadence\Theme' ) && ! empty( $attributes['inheritPostTransparent'] ) && $post_id !== false ) { $post_id = $post_id ?? get_the_ID(); $posttrans = get_post_meta( $post_id, '_kad_post_transparent', true ); return ( $posttrans === 'enable' || $posttrans === 'disable' ) ? $posttrans : null; } return null; } /** * Check if the transparent header is allowed on the current post type. * * @param array $attributes The block attributes. * @return bool */ private function transparent_allowed_on_post_type( $attributes ) { $transparent = 'enable'; if ( empty( $attributes['disableTransparentOverrides'] ) || ! is_array( $attributes['disableTransparentOverrides'] ) ) { // return true if no post types are disabled. return true; } $disabled_post_types = array_fill_keys( $attributes['disableTransparentOverrides'], true ); if ( is_singular() || is_front_page() ) { $post_type = is_front_page() ? 'page' : get_post_type(); if ( !empty( $disabled_post_types[ $post_type ] ) ) { $transparent = 'disable'; } } elseif( is_archive() || is_search() || is_home() || is_404() ) { if ( is_home() && ! is_front_page() ) { if ( get_query_var( 'tribe_events_front_page' ) ) { // $tribe_option_trans = \Kadence\kadence()->option('transparent_header_tribe_events_archive', true); // $transparent = $tribe_option_trans ? 'disable' : 'enable'; $transparent = apply_filters('kadence_tribe_events_archive_transparent', 'enable'); } else if( !empty( $attributes['inheritPostTransparent'] ) ) { $post_id = get_option('page_for_posts'); $transparent_postmeta_setting = $this->transparent_postmeta_setting( $attributes, $post_id ); if( $transparent_postmeta_setting === 'enable' || $transparent_postmeta_setting === 'disable' ) { $archivetrans = $transparent_postmeta_setting; } } } elseif (class_exists('woocommerce') && is_shop() && !is_search() && !empty( $attributes['inheritPostTransparent'] )) { $post_id = wc_get_page_id('shop'); $transparent_postmeta_setting = $this->transparent_postmeta_setting( $attributes, $post_id ); if( $transparent_postmeta_setting === 'enable' || $transparent_postmeta_setting === 'disable' ) { $archivetrans = $transparent_postmeta_setting; } } elseif (is_post_type_archive('tribe_events')) { // $tribe_option_trans = \Kadence\kadence()->option('transparent_header_tribe_events_archive', true); // $transparent = $tribe_option_trans ? 'disable' : 'enable'; $transparent = apply_filters('kadence_tribe_events_archive_transparent', 'enable'); } elseif (is_404()) { $transparent = 'disable'; } if (isset($archivetrans) && ( ( 'enable' === $archivetrans && class_exists( 'Kadence\Theme' ) )|| 'disable' === $archivetrans)) { $transparent = $archivetrans; } else { if ( !empty( $disabled_post_types['searchAndArchive'] ) ) { $transparent = 'disable'; } } } // Keeping support of enable/disable strings for backwards compatability with the filters. return isset( $transparent ) && ( $transparent === true || $transparent === 'enable' ); } } Kadence_Blocks_Header_Block::get_instance(); (function () { var anchor = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var isValidId = function (id) { return /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id); }; var getId = function (editor) { var selectedNode = editor.selection.getNode(); var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === ''; return isAnchor ? selectedNode.id || selectedNode.name : ''; }; var insert = function (editor, id) { var selectedNode = editor.selection.getNode(); var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === ''; if (isAnchor) { selectedNode.removeAttribute('name'); selectedNode.id = id; editor.undoManager.add(); } else { editor.focus(); editor.selection.collapse(true); editor.execCommand('mceInsertContent', false, editor.dom.createHTML('a', { id: id })); } }; var Anchor = { isValidId: isValidId, getId: getId, insert: insert }; var insertAnchor = function (editor, newId) { if (!Anchor.isValidId(newId)) { editor.windowManager.alert('Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.'); return true; } else { Anchor.insert(editor, newId); return false; } }; var open = function (editor) { var currentId = Anchor.getId(editor); editor.windowManager.open({ title: 'Anchor', body: { type: 'textbox', name: 'id', size: 40, label: 'Id', value: currentId }, onsubmit: function (e) { var newId = e.data.id; if (insertAnchor(editor, newId)) { e.preventDefault(); } } }); }; var Dialog = { open: open }; var register = function (editor) { editor.addCommand('mceAnchor', function () { Dialog.open(editor); }); }; var Commands = { register: register }; var isAnchorNode = function (node) { return !node.attr('href') && (node.attr('id') || node.attr('name')) && !node.firstChild; }; var setContentEditable = function (state) { return function (nodes) { for (var i = 0; i < nodes.length; i++) { if (isAnchorNode(nodes[i])) { nodes[i].attr('contenteditable', state); } } }; }; var setup = function (editor) { editor.on('PreInit', function () { editor.parser.addNodeFilter('a', setContentEditable('false')); editor.serializer.addNodeFilter('a', setContentEditable(null)); }); }; var FilterContent = { setup: setup }; var register$1 = function (editor) { editor.addButton('anchor', { icon: 'anchor', tooltip: 'Anchor', cmd: 'mceAnchor', stateSelector: 'a:not([href])' }); editor.addMenuItem('anchor', { icon: 'anchor', text: 'Anchor', context: 'insert', cmd: 'mceAnchor' }); }; var Buttons = { register: register$1 }; global.add('anchor', function (editor) { FilterContent.setup(editor); Commands.register(editor); Buttons.register(editor); }); function Plugin () { } return Plugin; }()); })(); /** * Class to Build the Advanced Form Telephone Input Block. * * @package Kadence Blocks */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } class Kadence_Blocks_Telephone_Input_Block extends Kadence_Blocks_Advanced_Form_Input_Block { /** * Instance of this class * * @var null */ private static $instance = null; /** * Block name within this namespace. * * @var string */ protected $block_name = 'telephone'; /** * Instance Control */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Builds CSS for block. * * @param array $attributes the blocks attributes. * @param string $css the css class for blocks. * @param string $unique_id the blocks attr ID. * @param string $unique_style_id the blocks alternate ID for queries. */ public function build_css( $attributes, $css, $unique_id, $unique_style_id ) { $class_id = $this->class_id( $attributes ); $css->set_style_id( 'kb-' . $this->block_name . $unique_style_id ); $css->set_selector( '.wp-block-kadence-advanced-form .kb-field' . $class_id ); $css->render_responsive_range( $attributes, 'maxWidth', 'max-width', 'maxWidthUnit' ); $css->render_responsive_range( $attributes, 'minWidth', 'min-width', 'minWidthUnit' ); return $css->css_output(); } /** * Return dynamically generated HTML for block * * @param $attributes * @param $unique_id * @param $content * @param WP_Block $block_instance The instance of the WP_Block class that represents the block being rendered. * * @return mixed */ public function build_html( $attributes, $unique_id, $content, $block_instance ) { $type = 'tel'; $is_required = $this->is_required( $attributes ); $class_id = $this->class_id( $attributes ); $outer_classes = [ 'kb-adv-form-field', 'kb-adv-form-text-type-input', 'kb-adv-form-infield-type-input', 'kb-field' . $class_id ]; $wrapper_args = [ 'class' => implode( ' ', $outer_classes ), ]; $wrapper_attributes = get_block_wrapper_attributes( $wrapper_args ); $inner_content = ''; $inner_content .= $this->field_label( $attributes ); $inner_content .= $this->field_aria_label( $attributes ); $inner_content .= 'aria_described_by( $attributes ) . ' data-label="' . esc_attr( $this->get_label( $attributes ) ) . '"' . $this->get_auto_complete( $attributes ) . ' type="' . esc_attr( $type ) . '" placeholder="' . esc_attr( $this->get_placeholder( $attributes ) ) . '" value="' . esc_attr( $this->get_default( $attributes ) ) . '" data-type="' . esc_attr( $type ) . '" class="kb-field kb-' . esc_attr( $type ) . '-field" data-required="' . esc_attr( $is_required ) . '" ' . $this->additional_field_attributes( $attributes ) . '/>'; $inner_content .= $this->field_help_text( $attributes ); $content = sprintf( '
%2$s
', $wrapper_attributes, $inner_content ); return $content; } } Kadence_Blocks_Telephone_Input_Block::get_instance(); /** * Class managing the header CPT registration. */ class Kadence_Blocks_Header_CPT_Controller { /** * Instance Control * * @var null */ private static $instance = null; /** * Post type. * * @var string */ private $post_type = 'kadence_header'; /** * Instance Control. */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor function. */ public function __construct() { // Register the post type. add_action( 'init', array( $this, 'register_post_type' ), 2 ); add_action( 'init', array( $this, 'register_meta' ), 20 ); add_filter( 'user_has_cap', array( $this, 'filter_post_type_user_caps' ) ); // Define the form post gutenberg template. add_action( 'init', array( $this, 'form_gutenberg_template' ) ); add_filter( 'kadence_post_layout', array( $this, 'header_single_layout' ), 99 ); add_action( 'enqueue_block_editor_assets', array( $this, 'script_enqueue' ) ); add_action( 'enqueue_block_assets', array( $this, 'title_styles_enqueue' ) ); // Add a post display state for the current header (if choosen in theme). add_filter( 'display_post_states', array( $this, 'add_display_post_states' ), 10, 2 ); add_action( 'admin_bar_menu', array( $this, 'top_headers_admin_bar' ), 100 ); add_action( 'admin_bar_menu', array( $this, 'add_new_header_to_admin_bar' ), 100 ); if( is_admin() && class_exists( 'Kadence_Blocks_Duplicate_Post' ) ) { new Kadence_Blocks_Duplicate_Post( $this->post_type ); } if( is_admin() && class_exists( 'Kadence_Blocks_Cpt_Import_Export' ) ) { new Kadence_Blocks_Cpt_Import_Export( $this->post_type ); } } /** * Enqueue Script for Meta options */ public function script_enqueue() { wp_enqueue_script( 'kb-header-visual-builder', KADENCE_BLOCKS_URL . 'dist/header-visual-builder.js', array('kadence-components', 'kadence-helpers', 'kadence-icons', 'lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-url'), KADENCE_BLOCKS_VERSION ); } /** * Enqueue Title Styles */ public function title_styles_enqueue() { $post_type = get_post_type(); if ( $this->post_type !== $post_type ) { return; } $output = '.post-type-kadence_header.block-editor-page .editor-styles-wrapper .editor-post-title__block .editor-post-title__input, .post-type-kadence_header .edit-post-visual-editor__post-title-wrapper { font-size: 1.5em; line-height: 1; padding-left: 0.5em; padding-right: 0.5em; border: 1px solid var(--wp-admin-theme-color); margin-top: 0 !important; padding-top: 24px; padding-bottom: 20px; margin-bottom: 20px; font-size: 1em; position: relative; } .post-type-kadence_header .editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper:not(.specificity) { padding-top: 24px !important; padding-bottom: 20px !important; margin-bottom: 20px !important; margin-top: 0 !important; font-size: 1em; position: relative; } .post-type-kadence_header .editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper .editor-post-title:before, .post-type-kadence_header .edit-post-visual-editor__post-title-wrapper:before { content: "Title"; position: absolute; top: 0px; left: 0; font-size: 12px; font-weight: normal; line-height: 1; background: var(--wp-admin-theme-color); padding: 4px 6px; color: white; text-transform: uppercase; } /* Iframe CSS */ .post-type-kadence_header .edit-post-visual-editor__post-title-wrapper .editor-post-title { font-size: 1.2em; font-weight: 500; line-height: 1; margin: 0; } .post-type-kadence_header .editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper .editor-post-title { font-size: 1.2em; font-weight: 500; line-height: 1; } .post-type-kadence_header .editor-styles-wrapper { padding:8px; margin: 0; } .post-type-kadence_header .is-root-container { padding: 0 !important; } .post-type-kadence_header .is-root-container > .wp-block {max-width: none;} .post-type-kadence_header .is-root-container > .wp-block.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header:not(.specificity) { max-width: none !important; margin-left: unset !important; margin-right: unset !important; }.post-type-kadence_header .editor-styles-wrapper .is-root-container > .wp-block {max-width: none;} .post-type-kadence_header .editor-styles-wrapper .has-global-padding { padding: 0; } :where(.post-type-kadence_header) :where(.wp-block) {max-width: none;} :where(.post-type-kadence_header) :where(.editor-styles-wrapper) :where(.wp-block) {max-width: none;}'; wp_register_style( 'kadence_header_css', false ); wp_enqueue_style( 'kadence_header_css' ); wp_add_inline_style( 'kadence_header_css', $output ); } /** * Renders the header single template on the front end. * * @param array $layout the layout array. */ public function header_single_layout( $layout ) { global $post; if ( is_singular( $this->post_type ) || ( is_admin() && is_object( $post ) && $this->post_type === $post->post_type ) ) { $layout = wp_parse_args( array( 'layout' => 'fullwidth', 'boxed' => 'unboxed', 'feature' => 'hide', 'feature_position' => 'above', 'comments' => 'hide', 'navigation' => 'hide', 'title' => 'hide', 'transparent' => 'disable', 'sidebar' => 'disable', 'vpadding' => 'hide', 'footer' => 'disable', 'header' => 'disable', 'content' => 'enable', ), $layout ); } return $layout; } /** * Add filters for element content output. */ public function form_gutenberg_template() { $post_type_object = get_post_type_object( $this->post_type ); $post_type_object->template = array( array( 'kadence/header', ), ); $post_type_object->template_lock = 'all'; } /** * Registers the header post type. */ public function register_post_type() { register_post_type( $this->post_type, array( 'labels' => array( 'name' => _x( 'Kadence Header', 'post type general name', 'kadence-blocks' ), 'singular_name' => _x( 'Kadence Header', 'post type singular name', 'kadence-blocks' ), 'add_new' => __( 'Add New Kadence Header', 'kadence-blocks' ), 'add_new_item' => __( 'Add New Kadence Header', 'kadence-blocks' ), 'new_item' => __( 'New Kadence Header', 'kadence-blocks' ), 'edit_item' => __( 'Edit Kadence Header', 'kadence-blocks' ), 'view_item' => __( 'View Kadence Header', 'kadence-blocks' ), 'all_items' => __( 'Headers', 'kadence-blocks' ), 'search_items' => __( 'Search Kadence Headers', 'kadence-blocks' ), 'menu_name' => _x( 'Headers', 'admin menu', 'kadence-blocks' ), 'parent_item_colon' => __( 'Parent Kadence Header:', 'kadence-blocks' ), 'not_found' => __( 'No Kadence Header found.', 'kadence-blocks' ), 'not_found_in_trash' => __( 'No Kadence Header found in Trash.', 'kadence-blocks' ), 'archives' => __( 'Kadence Header archives', 'kadence-blocks' ), 'insert_into_item' => __( 'Insert into Kadence Header', 'kadence-blocks' ), 'uploaded_to_this_item' => __( 'Uploaded to this Kadence Header', 'kadence-blocks' ), 'filter_items_list' => __( 'Filter Kadence Header list', 'kadence-blocks' ), 'items_list_navigation' => __( 'Kadence Headers list navigation', 'kadence-blocks' ), 'items_list' => __( 'Kadence Headers list', 'kadence-blocks' ), ), 'description' => __( 'Kadence Headers that can be inserted into your site.', 'kadence-blocks' ), 'public' => false, 'has_archive' => false, 'show_ui' => true, 'show_in_menu' => 'kadence-blocks', 'show_in_admin_bar' => false, 'show_in_rest' => true, 'rewrite' => false, 'map_meta_cap' => true, 'capabilities' => array( 'edit_others_posts' => 'edit_theme_options', 'delete_posts' => 'edit_theme_options', 'publish_posts' => 'edit_theme_options', 'create_posts' => 'edit_theme_options', 'read_private_posts' => 'edit_theme_options', 'delete_private_posts' => 'edit_theme_options', 'delete_published_posts' => 'edit_theme_options', 'delete_others_posts' => 'edit_theme_options', 'edit_private_posts' => 'edit_theme_options', 'edit_published_posts' => 'edit_theme_options', 'edit_posts' => 'edit_theme_options', ), 'rest_base' => $this->post_type, 'rest_controller_class' => Kadence_Blocks_Header_CPT_Rest_Controller::class, 'supports' => array( 'title', 'editor', 'revisions', 'custom-fields' ), ) ); } /** * Check that user can edit these. */ public function meta_auth_callback() { return current_user_can( 'edit_kadence_header' ); } /** * Filters the capabilities of a user to conditionally grant them capabilities for managing headers. * * Any user who can 'edit_others_pages' will have access to manage headers. * * @param array $allcaps A user's capabilities. * * @return array Filtered $allcaps. */ public function filter_post_type_user_caps( $allcaps ) { if ( isset( $allcaps['edit_others_pages'] ) ) { $allcaps['edit_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['edit_others_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['edit_published_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['edit_private_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_others_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_published_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_private_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['publish_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['read_private_kadence_header'] = $allcaps['edit_others_pages']; } return $allcaps; } public function register_meta() { $register_meta = array( array( 'key' => '_kad_header_description', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_typography', 'type' => 'object', 'default' => array( 'color' => '', 'size' => array( '', '', '' ), 'sizeType' => 'px', 'lineHeight' => array( '', '', '' ), 'lineType' => '', 'letterSpacing' => array( '', '', '' ), 'letterType' => 'px', 'textTransform' => '', 'family' => '', 'google' => false, 'style' => '', 'weight' => '', 'variant' => '', 'subset' => '', 'loadGoogle' => true, ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'size' => array( 'type' => 'array' ), 'sizeType' => array( 'type' => 'string' ), 'lineHeight' => array( 'type' => 'array' ), 'lineType' => array( 'type' => 'string' ), 'letterSpacing' => array( 'type' => 'array' ), 'letterType' => array( 'type' => 'string' ), 'textTransform' => array( 'type' => 'string' ), 'family' => array( 'type' => 'string' ), 'google' => array( 'type' => 'boolean' ), 'style' => array( 'type' => 'string' ), 'weight' => array( 'type' => 'string' ), 'variant' => array( 'type' => 'string' ), 'subset' => array( 'type' => 'string' ), 'loadGoogle' => array( 'type' => 'boolean' ), ), ), array( 'key' => '_kad_header_border', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderTablet', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderMobile', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderRadius', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTablet', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusMobile', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_borderTransparent', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderTransparentTablet', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderTransparentMobile', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderRadiusTransparent', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTransparentTablet', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTransparentMobile', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTransparentUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_borderSticky', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderStickyTablet', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderStickyMobile', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderRadiusSticky', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusStickyTablet', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusStickyMobile', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusStickyUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_background', 'type' => 'object', 'default' => array( 'color' => '', 'image' => '', 'imageID' => '', 'position' => 'center center', 'size' => 'cover', 'repeat' => 'no-repeat', 'attachment' => 'scroll', 'type' => 'normal', 'gradient' => '', ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'image' => array( 'type' => 'string' ), 'imageID' => array( 'type' => 'string' ), 'position' => array( 'type' => 'string' ), 'size' => array( 'type' => 'string' ), 'repeat' => array( 'type' => 'string' ), 'attachment' => array( 'type' => 'string' ), 'type' => array( 'type' => 'string' ), 'gradient' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_backgroundTransparent', 'type' => 'object', 'default' => array( 'color' => '', 'image' => '', 'imageID' => '', 'position' => 'center center', 'size' => 'cover', 'repeat' => 'no-repeat', 'attachment' => 'scroll', 'type' => 'normal', 'gradient' => '', ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'image' => array( 'type' => 'string' ), 'imageID' => array( 'type' => 'string' ), 'position' => array( 'type' => 'string' ), 'size' => array( 'type' => 'string' ), 'repeat' => array( 'type' => 'string' ), 'attachment' => array( 'type' => 'string' ), 'type' => array( 'type' => 'string' ), 'gradient' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_backgroundSticky', 'type' => 'object', 'default' => array( 'color' => '', 'image' => '', 'imageID' => '', 'position' => 'center center', 'size' => 'cover', 'repeat' => 'no-repeat', 'attachment' => 'scroll', 'type' => 'normal', 'gradient' => '', ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'image' => array( 'type' => 'string' ), 'imageID' => array( 'type' => 'string' ), 'position' => array( 'type' => 'string' ), 'size' => array( 'type' => 'string' ), 'repeat' => array( 'type' => 'string' ), 'attachment' => array( 'type' => 'string' ), 'type' => array( 'type' => 'string' ), 'gradient' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_anchor', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_className', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_padding', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_tabletPadding', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_mobilePadding', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_paddingUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_margin', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_tabletMargin', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_mobileMargin', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_marginUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_linkColor', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_linkHoverColor', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_height', 'default' => array( '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_heightUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_width', 'default' => array( '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_widthUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_isSticky', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isStickyTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isStickyMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isTransparent', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isTransparentTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isTransparentMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_autoTransparentSpacing', 'default' => false, 'type' => 'boolean', ), array( 'key' => '_kad_header_stickySection', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_stickySectionTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_stickySectionMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_shrinkMain', 'default' => false, 'type' => 'boolean', ), array( 'key' => '_kad_header_shrinkMainHeight', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_shrinkMainHeightTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_shrinkMainHeightMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_revealScrollUp', 'default' => false, 'type' => 'boolean', ), array( 'key' => '_kad_header_inheritPostTransparent', 'default' => true, 'type' => 'boolean', ), array( 'key' => '_kad_header_disableTransparentOverrides', 'type' => 'array', 'properties' => array(), 'children_type' => 'string', 'default' => array(), ), array( 'key' => '_kad_header_shadow', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'enable' => false, 'color' => '#000000', 'opacity' => 0.2, 'spread' => 0, 'blur' => 2, 'hOffset' => 0, 'vOffset' => 1, 'inset' => false, ), ), 'properties' => array( 'enable' => array( 'type' => 'boolean' ), 'color' => array( 'type' => 'string' ), 'opacity' => array( 'type' => 'number' ), 'spread' => array( 'type' => 'number' ), 'blur' => array( 'type' => 'number' ), 'hOffset' => array( 'type' => 'number' ), 'vOffset' => array( 'type' => 'number' ), 'inset' => array( 'type' => 'boolean' ), ), ), array( 'key' => '_kad_header_headerTag', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_mobileBreakpoint', 'type' => 'number', 'default' => 0, ), array( 'key' => '_kad_header_pro_backdropFilterType', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_pro_backdropFilterSize', 'type' => 'number', 'default' => 1, ), array( 'key' => '_kad_header_pro_backdropFilterString', 'type' => 'string', 'default' => '', ), ); foreach ( $register_meta as $meta ) { if ( 'string' === $meta['type'] ) { $show_in_rest = true; } elseif ( $meta['type'] === 'array' ) { $show_in_rest = array( 'schema' => array( 'type' => $meta['type'], 'items' => array( 'type' => $meta['children_type'] ), ), ); if ( ! empty( $meta['properties'] ) ) { $show_in_rest = array_merge_recursive( $show_in_rest, array( 'schema' => array( 'items' => array( 'properties' => $meta['properties'] ) ) ) ); } } elseif ( $meta['type'] === 'object' ) { $show_in_rest = array( 'schema' => array( 'type' => $meta['type'], 'properties' => $meta['properties'] ), ); } register_post_meta( $this->post_type, $meta['key'], array( 'single' => true, 'auth_callback' => array( $this, 'meta_auth_callback' ), 'type' => $meta['type'], 'default' => isset( $meta['default'] ) ? $meta['default'] : '', 'show_in_rest' => $show_in_rest, ) ); } } /** * Add a post display state for special pages in the page list table. * * @param array $post_states An array of post display states. * @param WP_Post $post The current post object. */ public function add_display_post_states( $post_states, $post ) { if ( class_exists( 'Kadence\Theme' ) ) { if(Kadence\kadence()->option( 'blocks_header' )) { $header_id = intval(Kadence\kadence()->option( 'blocks_header_id' )); if ( $header_id === $post->ID ) { $post_states['kb_post_for_header'] = __( 'Theme Header', 'kadence-blocks' ); } } } return $post_states; } /** * Adds a "Kadence Header" link to the WordPress admin bar "Headers" menu. * * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance. */ public function top_headers_admin_bar( $wp_admin_bar ) { $admin_bar_settings = get_option( 'kadence_blocks_admin_bar_settings' ); $show_headers_in_admin_bar = isset( $admin_bar_settings['show_headers_in_admin_bar'] ) && $admin_bar_settings['show_headers_in_admin_bar'] === 'true' ? true : false; if ( ! current_user_can( 'edit_posts' ) || ! $show_headers_in_admin_bar ) { return; } $wp_admin_bar->add_node( array( 'id' => 'kadence-top-headers', 'title' => __( 'Headers', 'kadence-blocks' ), 'href' => admin_url( 'edit.php?post_type=kadence_header' ), ) ); // Add the current header from theme customizer (first node) if ( class_exists( 'Kadence\Theme' ) ) { if ( Kadence\kadence()->option( 'blocks_header' ) ) { $header_id = intval( Kadence\kadence()->option( 'blocks_header_id' ) ); if ( $header_id ) { $header_post = get_post( $header_id ); if ( $header_post && 'kadence_header' === $header_post->post_type ) { // translators: %s is the header title $wp_admin_bar->add_node( array( 'id' => 'kadence-header-current', 'title' => sprintf( __( '%s (Theme)', 'kadence-blocks' ), $header_post->post_title ), 'parent' => 'kadence-top-headers', 'href' => get_edit_post_link( $header_id ), ) ); } } } } // Add the 5 most recent header posts $recent_headers = get_posts( array( 'post_type' => 'kadence_header', 'post_status' => 'publish', 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC', ) ); foreach ( $recent_headers as $header ) { $wp_admin_bar->add_node( array( 'id' => 'kadence-header-recent-' . $header->ID, 'title' => $header->post_title, 'parent' => 'kadence-top-headers', 'href' => get_edit_post_link( $header->ID ), ) ); } $wp_admin_bar->add_node( array( 'id' => 'kadence-header-add-new', 'title' => __( 'Add New', 'kadence-blocks' ), 'parent' => 'kadence-top-headers', 'href' => admin_url( 'post-new.php?post_type=kadence_header' ), ) ); } /** * Adds a "Kadence Header" link to the WordPress admin bar "New" dropdown menu. * * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance. */ public function add_new_header_to_admin_bar( $wp_admin_bar ) { $admin_bar_settings = get_option( 'kadence_blocks_admin_bar_settings' ); $show_headers_in_admin_bar = isset( $admin_bar_settings['show_headers_in_admin_bar'] ) && $admin_bar_settings['show_headers_in_admin_bar'] === 'true' ? true : false; // Only show for users who can create headers if ( ! current_user_can( 'edit_theme_options' ) || ! $show_headers_in_admin_bar ) { return; } $wp_admin_bar->add_node( array( 'id' => 'new-kadence-header', 'title' => __( 'Header', 'kadence-blocks' ), 'parent' => 'new-content', 'href' => admin_url( 'post-new.php?post_type=kadence_header' ), ) ); } } Kadence_Blocks_Header_CPT_Controller::get_instance(); {"translation-revision-date":"2024-11-27T11:30:35+00:00","generator":"WP-CLI\/2.10.0","source":"inc\/lib\/ai-builder\/inc\/assets\/build\/main.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"en","plural-forms":"nplurals=2; plural=(n != 1);"},"Starter Templates":["Starter-Vorlagen"],"Premium":["Premium"],"Elementor":["Elementor"],"Beaver Builder":["Biber Erbauer"],"Close":["Schlie\u00dfen"],"Cancel":["Abbrechen"],"Contact Support":["Support kontaktieren"],"Something went wrong":["Etwas ist schiefgelaufen"],"Downloading the images in media library\u2026":["Bilder in der Medienbibliothek werden heruntergeladen\u2026"],"Adding interactive elements to engage visitors\u2026":["Interaktive Elemente hinzuf\u00fcgen, um Besucher zu engagieren\u2026"],"Crafting compelling copy that speaks to audience\u2026":["Fesselnde Texte verfassen, die das Publikum ansprechen\u2026"],"Optimizing website for performance and speed\u2026":["Optimierung der Website f\u00fcr Leistung und Geschwindigkeit\u2026"],"Adding essential features to engage visitors\u2026":["Wesentliche Funktionen hinzuf\u00fcgen, um Besucher zu engagieren\u2026"],"Optimizing SEO settings to boost online presence\u2026":["Optimierung der SEO-Einstellungen zur Steigerung der Online-Pr\u00e4senz\u2026"],"Finalizing website layout and structure\u2026":["Abschluss des Website-Layouts und der Struktur\u2026"],"Testing functionality across different browsers\u2026":["Testen der Funktionalit\u00e4t in verschiedenen Browsern\u2026"],"It's taking a bit more than usual. Bear with us\u2026":["Es dauert etwas l\u00e4nger als gew\u00f6hnlich. Bitte haben Sie Geduld mit uns\u2026"],"Oops, Site creation hiccupped, we are trying one more time":["Ups, die Seitenerstellung hat gehakt, wir versuchen es noch einmal."],"Oops, our site creation magic misfired! We couldn't create your site. Please try again\u2026":["Ups, unsere Magie zur Seitenerstellung hat nicht funktioniert! Wir konnten Ihre Seite nicht erstellen. Bitte versuchen Sie es erneut\u2026"],"Style 1":["Stil 1"],"Style 2":["Stil 2"],"Style 3":["Stil 3"],"Style 4":["Stil 4"],"Style 5":["Stil 5"],"Style 6":["Stil 6"],"Style 7":["Stil 7"],"Style 8":["Stil 8"],"Style 9":["Stil 9"],"Style 10":["Stil 10"],"Original %1$s":["Original %1$s"],"Original":["Original"],"Custom":["Benutzerdefiniert"],"Color Palette":["Farbpalette"],"Font Pair":["Schriftartenpaar"],"Use setting":["Einstellung verwenden"],"Site Logo":["Seitenlogo"],"Change":["\u00c4ndern"],"Upload File Here":["Datei hier hochladen"],"Show site title":["Seitentitel anzeigen"],"Logo width":["Logo Breite"],"Are you sure?":["Bist du sicher?"],"This will redirect you to the first screen and discard the progress you have made.":["Dies wird Sie zum ersten Bildschirm weiterleiten und den Fortschritt, den Sie gemacht haben, verwerfen."],"If you prefer to continue, click 'Cancel'.":["Wenn Sie fortfahren m\u00f6chten, klicken Sie auf 'Abbrechen'."],"Exit":["Beenden"],"Light":["Licht"],"Dark":["Dunkel"],"Muted":["Stumm"],"Normal":["Normal"],"Vibrant":["Lebendig"],"This color is not suitable for reading on %1$s backgrounds. Consider making it slightly %2$s.":["Diese Farbe ist nicht geeignet f\u00fcr das Lesen auf %1$s Hintergr\u00fcnden. Erw\u00e4gen Sie, sie etwas %2$s zu machen."],"Style":["Stil"],"Saturation":["S\u00e4ttigung"],"Brightness":["Helligkeit"],"Hold On!":["Warte!"],"It looks like you already have a website made with Starter Templates. Clicking the 'Start Building' button will recreate the site, and all previous data will be overridden.":["Es sieht so aus, als h\u00e4tten Sie bereits eine Website mit Starter Templates erstellt. Wenn Sie auf die Schaltfl\u00e4che \u201eStart Building\u201c klicken, wird die Website neu erstellt und alle vorherigen Daten werden \u00fcberschrieben."],"Maintain previous\/old data?":["Vorherige\/alte Daten beibehalten?"],"Enabling this option will maintain your old Starter Templates data, including content and images. Enable it to confirm.":["Wenn Sie diese Option aktivieren, bleiben Ihre alten Startervorlagen-Daten, einschlie\u00dflich Inhalte und Bilder, erhalten. Aktivieren Sie es, um zu best\u00e4tigen."],"Start Building":["Beginnen Sie mit dem Bauen"],"Back":["Zur\u00fcck"],"You're almost there!":["Du bist fast da!"],"You've chosen a %1$s Access this design and all others when you upgrade.":["Sie haben ein %1$s ausgew\u00e4hlt. Greifen Sie auf dieses Design und alle anderen zu, wenn Sie ein Upgrade durchf\u00fchren."],"Unlock the Access":["Entsperren Sie den Zugang"],"here":["hier"],"Problem Detected in Previous Site Creation!":["Problem bei der vorherigen Seitenerstellung festgestellt!"],"We encountered the following errors while creating your previous site:":["Wir sind auf die folgenden Fehler gesto\u00dfen, w\u00e4hrend wir Ihre vorherige Website erstellt haben:"],"Not enough information to display.":["Nicht gen\u00fcgend Informationen zur Anzeige."],"If you want to retry the import, select a saved site below then click on the \u201cRetry Import\u201d button. Or contact our support %1$s.":["Wenn Sie den Import erneut versuchen m\u00f6chten, w\u00e4hlen Sie unten eine gespeicherte Seite aus und klicken Sie auf die Schaltfl\u00e4che \u201eImport erneut versuchen\u201c. Oder kontaktieren Sie unseren Support %1$s."],"If you proceed without fixing these issues, you may encounter the same errors again, which could exhaust your AI site creation attempts. If you need help, feel free to contact us %1$s. Do you still want to continue?":["Wenn Sie fortfahren, ohne diese Probleme zu beheben, k\u00f6nnten Sie erneut auf die gleichen Fehler sto\u00dfen, was Ihre Versuche zur Erstellung von KI-Websites ersch\u00f6pfen k\u00f6nnte. Wenn Sie Hilfe ben\u00f6tigen, k\u00f6nnen Sie uns gerne kontaktieren %1$s. M\u00f6chten Sie trotzdem fortfahren?"],"Created On: ":["Erstellt am:"],"Importing saved sites won\u2019t be exhausting your AI site generation count.":["Das Importieren gespeicherter Websites wird Ihr KI-Website-Generierungskontingent nicht ersch\u00f6pfen."],"Retry Import":["Import erneut versuchen"],"This is just a sneak peek. The actual website and its content will be created in the next step.":["Dies ist nur ein Vorgeschmack. Die eigentliche Website und deren Inhalte werden im n\u00e4chsten Schritt erstellt."],"Build with AI":["Mit KI bauen"],"Premium Design":["Premium-Design"],"You've chosen a Premium Design. Access this design and all others with our paid plans starting at just $79.":["Sie haben ein Premium-Design gew\u00e4hlt. Greifen Sie auf dieses und alle anderen Designs mit unseren kostenpflichtigen Pl\u00e4nen ab nur 79 $ zu."],"Continue":["Fortfahren"],"Back to Other Designs":["Zur\u00fcck zu anderen Designs"],"Responsive Preview":["Reaktionsvorschau"],"%s AI sites":["%s KI-Seiten"],"This plan allows you to generate %s per day, and you have reached this limit.":["Dieser Plan erlaubt es Ihnen, %s pro Tag zu generieren, und Sie haben dieses Limit erreicht."],"To create more AI websites, you will need to either upgrade your plan or wait until the limit resets.":["Um mehr KI-Websites zu erstellen, m\u00fcssen Sie entweder Ihren Plan upgraden oder warten, bis das Limit zur\u00fcckgesetzt wird."],"Limit reached":["Limit erreicht"],"Resume your last session?":["M\u00f6chten Sie Ihre letzte Sitzung fortsetzen?"],"It appears that your previous website building session was interrupted. Would you like to pick up where you left off?":["Es scheint, dass Ihre vorherige Website-Erstellungssitzung unterbrochen wurde. M\u00f6chten Sie dort weitermachen, wo Sie aufgeh\u00f6rt haben?"],"Resume Previous Session":["Vorherige Sitzung fortsetzen"],"Start Over":["Nochmal anfangen"],"Oops , Something went wrong!":["Ups, etwas ist schiefgelaufen!"],"There was a problem processing the request. Please try again. If this error continues please contact our support team<\/a>.":["Es gab ein Problem bei der Bearbeitung der Anfrage. Bitte versuchen Sie es erneut. Wenn dieser Fehler weiterhin auftritt, kontaktieren Sie bitte unser Support-Team<\/a>."],"Back to Main Screen":["Zur\u00fcck zum Hauptbildschirm"],"Site creation failed due to an unexpected error. Please try again or reach out for assistance if the issue persists.":["Die Erstellung der Website ist aufgrund eines unerwarteten Fehlers fehlgeschlagen. Bitte versuchen Sie es erneut oder wenden Sie sich an den Support, wenn das Problem weiterhin besteht."],"Additional technical information:":["Zus\u00e4tzliche technische Informationen:"],"Error Message: %1$s":["Fehlermeldung: %1$s"],"Exit to Dashboard":["Zur\u00fcck zum Dashboard"],"This is the total usage quota":["Dies ist das gesamte Nutzungskontingent"],"This usage quota will reset monthly":["Dieses Nutzungskontingent wird monatlich zur\u00fcckgesetzt"],"This usage quota will reset daily":["Dieses Nutzungskontingent wird t\u00e4glich zur\u00fcckgesetzt"],"This usage quota will reset %s":["Dieses Nutzungskontingent wird %s zur\u00fcckgesetzt"],"Plan Usage & Limit":["Nutzungsplan & Limit"],"Keep track and monitor how you allocate and use resources in your existing plan.":["Behalten Sie im Auge und \u00fcberwachen Sie, wie Sie Ressourcen in Ihrem bestehenden Plan zuweisen und nutzen."],"Plan":["Plan"],"Manage Plan":["Plan verwalten"],"Staging Sites":["Staging-Websites"],"AI Website Generations":["KI-Website-Generationen"],"Blueprint Sites":["Blueprint-Seiten"],"Disk Space Utilized":["Genutzter Speicherplatz"],"Team members":["Teammitglieder"],"Upgrade Now":["Jetzt upgraden"],"5 AI sites per day":["5 KI-Seiten pro Tag"],"20,000 AI Credits":["20.000 AI-Credits"],"Premium designs":["Premium-Designs"],"5 Blueprint Sites":["5 Blaupausenstandorte"],"10 AI sites per day":["10 KI-Seiten pro Tag"],"100,000 AI Credits":["100.000 KI-Credits"],"10 Blueprint Sites":["10 Blaupausenstandorte"],"Great Start! Congratulations..":["Toller Start! Herzlichen Gl\u00fcckwunsch."],"Block Editor":["Block-Editor"],"AI Website Builder":["KI-Website-Builder"],"Next":["Weiter"],"Skip Step":["Schritt \u00fcberspringen"],"Search":["Suche"],"Nothing found":["Nichts gefunden"],"The website will be in:":["Die Website wird in:"],"Type to search":["Zum Suchen tippen"],"You've almost reached AI site-building limit.":["Sie haben fast das Limit f\u00fcr den KI-Websiteaufbau erreicht."],"Upgrade with add-ons to unlock more.":["Mit Add-ons upgraden, um mehr freizuschalten."],"Buy Add-ons":["Add-ons kaufen"],"Use this":["Verwende dies"],"Improve Using AI":["Mit KI verbessern"],"Add More Business Details":["Weitere Gesch\u00e4ftsinformationen hinzuf\u00fcgen"],"The business details provided are not enough to create the website content. Please describe your business with more details, or use AI to write it for you.":["Die bereitgestellten Gesch\u00e4ftsinformationen reichen nicht aus, um den Website-Inhalt zu erstellen. Bitte beschreiben Sie Ihr Gesch\u00e4ft ausf\u00fchrlicher oder nutzen Sie KI, um es f\u00fcr Sie zu schreiben."],"A good business description is:":["Eine gute Unternehmensbeschreibung ist:"],"I'll Write by Myself":["Ich werde selbst schreiben"],"Enter your %s account URL":["Geben Sie die URL Ihres %s-Kontos ein"],"Enter your Google Business URL":["Geben Sie Ihre Google Business-URL ein"],"Enter your Yelp business URL":["Geben Sie Ihre Yelp-Gesch\u00e4fts-URL ein"],"Enter your account URL":["Geben Sie Ihre Konto-URL ein"],"Facebook":["Facebook"],"Twitter":["Twitter"],"Instagram":["Instagram"],"LinkedIn":["LinkedIn"],"YouTube":["YouTube"],"Google My Business":["Google My Business"],"Yelp":["Yelp"],"Social Media":["Soziale Medien"],"Please enter a full URL. Eg. https:\/\/twitter.com\/abcd, https:\/\/instagram.com\/abcd, https:\/\/facebook.com\/abcd":["Bitte geben Sie eine vollst\u00e4ndige URL ein. Z.B. https:\/\/twitter.com\/abcd, https:\/\/instagram.com\/abcd, https:\/\/facebook.com\/abcd"],"This might not be a valid URL.":["Dies k\u00f6nnte keine g\u00fcltige URL sein."],"Upload images":["Bilder hochladen"],"Invalid file name! Please avoid special characters. (%s)":["Ung\u00fcltiger Dateiname! Bitte vermeiden Sie Sonderzeichen. (%s)"],"Option %s":["Option %s"],"Open Design in New Tab":["Design in neuem Tab \u00f6ffnen"],"E-Commerce":["E-Commerce"],"Pages included:":["Enthaltene Seiten:"],"Page count: %s":["Seitenanzahl: %s"],"Generating preview\u2026":["Vorschau wird generiert\u2026"],"All orientations":["Alle Ausrichtungen"],"Landscape":["Landschaft"],"Portrait":["Portr\u00e4t"],"Search Results":["Suchergebnisse"],"Upload Your Images":["Laden Sie Ihre Bilder hoch"],"Selected Images":["Ausgew\u00e4hlte Bilder"],"Select features":["Funktionen ausw\u00e4hlen"],"Select the features you want on this website":["W\u00e4hlen Sie die Funktionen aus, die Sie auf dieser Website w\u00fcnschen"],"Something went wrong. Please try again later.":["Etwas ist schiefgelaufen. Bitte versuchen Sie es sp\u00e4ter noch einmal."],"Skip & Start Building":["\u00dcberspringen & Mit dem Bauen beginnen"],"Importing Content\u2026":["Inhalt wird importiert\u2026"],"Fetching related demo failed.":["Abrufen der zugeh\u00f6rigen Demo fehlgeschlagen."],"Astra Theme Installed.":["Astra-Theme installiert."],"Installing Astra Theme\u2026":["Installiere Astra-Theme\u2026"],"Oops.. Something went wrong":["Ups.. Etwas ist schiefgelaufen"],"What happened?":["Was ist passiert?"],"Importing site content has failed. The import process was interrupted.":["Der Import von Website-Inhalten ist fehlgeschlagen. Der Importvorgang wurde unterbrochen."],"Additional technical information from console:":["Zus\u00e4tzliche technische Informationen von der Konsole:"],"Click here to try again":["Klicken Sie hier, um es erneut zu versuchen"],"Double-checking for grammar and spelling errors\u2026":["Doppelte \u00dcberpr\u00fcfung auf Grammatik- und Rechtschreibfehler\u2026"],"Finalizing setup and configurations\u2026":["Abschluss der Einrichtung und Konfigurationen\u2026"],"Crossing the t's and dotting the i's\u2026":["Die T's kreuzen und die I's punkten\u2026"],"Reviewing for any last-minute tweaks\u2026":["\u00dcberpr\u00fcfung auf letzte Anpassungen\u2026"],"Almost there! Just a few more finishing touches\u2026":["Fast geschafft! Nur noch ein paar letzte Feinheiten\u2026"],"Your website is almost ready.":["Ihre Website ist fast fertig."],"It's taking longer than usual. Please bear with us!":["Es dauert l\u00e4nger als gew\u00f6hnlich. Bitte haben Sie Geduld mit uns!"],"Building a website has never been this easy!":["Eine Website zu erstellen war noch nie so einfach!"],"Here is how the AI Website Builder works:":["So funktioniert der KI-Website-Builder:"],"Create a free account on ZipWP platform.":["Erstellen Sie ein kostenloses Konto auf der ZipWP-Plattform."],"Describe your dream website in your own words.":["Beschreiben Sie Ihre Traum-Website in Ihren eigenen Worten."],"Watch as AI crafts your WordPress website instantly.":["Beobachten Sie, wie KI Ihre WordPress-Website sofort erstellt."],"Refine the website with an easy drag & drop builder.":["Verfeinern Sie die Website mit einem einfachen Drag-&-Drop-Builder."],"Launch.":["Start."],"Let's Get Started. It's Free":["Lass uns anfangen. Es ist kostenlos."],"Let's build your website!":["Lassen Sie uns Ihre Website erstellen!"],"Please share some basic details of the website to get started.":["Bitte teilen Sie einige grundlegende Details der Website mit, um zu beginnen."],"Name of the website:":["Name der Website:"],"Enter name or title of the website":["Geben Sie den Namen oder Titel der Website ein"],"Name is required":["Name ist erforderlich"],"This website is for:":["Diese Website ist f\u00fcr:"],"Let\u2019s Start":["Lass uns anfangen"],"Name, language & type":["Name, Sprache & Typ"],"What is %s? Please describe the business.":["Was ist %s? Bitte beschreiben Sie das Gesch\u00e4ft."],"Please be as descriptive as you can. Share details such as services, products, goals, etc.":["Bitte seien Sie so beschreibend wie m\u00f6glich. Teilen Sie Details wie Dienstleistungen, Produkte, Ziele usw. mit."],"Who is %s? Tell us more about the person.":["Wer ist %s? Erz\u00e4hlen Sie uns mehr \u00fcber die Person."],"Please be as descriptive as you can. Share details such as what they do, their expertise, offerings, etc.":["Bitte seien Sie so beschreibend wie m\u00f6glich. Teilen Sie Details wie ihre T\u00e4tigkeiten, ihre Expertise, Angebote usw. mit."],"What is %s? Please describe the organisation.":["Was ist %s? Bitte beschreiben Sie die Organisation."],"Please be as descriptive as you can. Share details such as services, programs, mission, vision, etc.":["Bitte seien Sie so beschreibend wie m\u00f6glich. Teilen Sie Details wie Dienstleistungen, Programme, Mission, Vision usw. mit."],"What is %s? Tell us more about the restaurant.":["Was ist %s? Erz\u00e4hlen Sie uns mehr \u00fcber das Restaurant."],"Please be as descriptive as you can. Share details such as a brief about the restaurant, specialty, menu, etc.":["Bitte seien Sie so ausf\u00fchrlich wie m\u00f6glich. Teilen Sie Details wie eine kurze Beschreibung des Restaurants, Spezialit\u00e4ten, Men\u00fc usw. mit."],"What is %s? Share more details about the product.":["Was ist %s? Teilen Sie mehr Details \u00fcber das Produkt mit."],"Please be as descriptive as you can. Share details such as a brief about the product, features, some USPs, etc.":["Bitte seien Sie so ausf\u00fchrlich wie m\u00f6glich. Teilen Sie Details wie eine kurze Beschreibung des Produkts, Funktionen, einige Alleinstellungsmerkmale usw. mit."],"Tell us more about %s.":["Erz\u00e4hlen Sie uns mehr \u00fcber %s."],"Please be as descriptive as you can. Share details such as Event information date, venue, some highlights, etc.":["Bitte seien Sie so beschreibend wie m\u00f6glich. Teilen Sie Details wie Veranstaltungsinformationen, Datum, Ort, einige Highlights usw. mit."],"Share more details about %s.":["Teilen Sie mehr Details \u00fcber %s mit."],"Tell us more about the %s.":["Erz\u00e4hlen Sie uns mehr \u00fcber das %s."],"Please be as descriptive as you can. Share details such as treatments, procedures, facilities, etc.":["Bitte seien Sie so ausf\u00fchrlich wie m\u00f6glich. Teilen Sie Details wie Behandlungen, Verfahren, Einrichtungen usw. mit."],"Please describe %s in a few words.":["Bitte beschreiben Sie %s in ein paar Worten."],"The best way to describe anything is by answering a few WH questions. Who, What, Where, Why, When, etc.":["Die beste Art, etwas zu beschreiben, ist, indem man einige W-Fragen beantwortet. Wer, Was, Wo, Warum, Wann, usw."],"Characters: ":["Zeichen:"],"E.g. Mantra Minds is a yoga studio located in Chino Hills, California. The studio offers a variety of classes such as Hatha yoga, Vinyasa flow, and Restorative yoga. The studio is led by Jane, an experienced and certified yoga instructor with over 10 years of teaching expertise. The welcoming atmosphere and personalized Jane make it a favorite among yoga enthusiasts in the area.":["Z.B. Mantra Minds ist ein Yogastudio in Chino Hills, Kalifornien. Das Studio bietet eine Vielzahl von Kursen an, wie Hatha-Yoga, Vinyasa-Flow und Restorative Yoga. Das Studio wird von Jane geleitet, einer erfahrenen und zertifizierten Yogalehrerin mit \u00fcber 10 Jahren Unterrichtserfahrung. Die einladende Atmosph\u00e4re und die pers\u00f6nliche Betreuung durch Jane machen es zu einem Favoriten unter Yoga-Enthusiasten in der Gegend."],"Write Using AI":["Mit KI schreiben"],"Describe":["Beschreiben"],"Some details please":["Einige Details bitte"],"How can people get in touch with %1$s?":["Wie k\u00f6nnen Menschen mit %1$s in Kontakt treten?"],"Please provide the contact information below. These will be used on the website.":["Bitte geben Sie die unten stehenden Kontaktdaten an. Diese werden auf der Website verwendet."],"Email":["E-Mail"],"Your email":["Ihre E-Mail"],"Please enter a valid email":["Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein"],"Phone Number":["Telefonnummer"],"Your phone number":["Ihre Telefonnummer"],"Address":["Adresse"],"Contact":["Kontakt"],"How can people get in touch":["Wie k\u00f6nnen Menschen Kontakt aufnehmen"],"You can only upload 20 images at once":["Sie k\u00f6nnen nur 20 Bilder auf einmal hochladen"],"Select the Images":["Bilder ausw\u00e4hlen"],"Add more relevant keywords\u2026":["F\u00fcgen Sie mehr relevante Schl\u00fcsselw\u00f6rter hinzu\u2026"],"Suggested Keywords":["Vorgeschlagene Schl\u00fcsselw\u00f6rter"],"Clear":["Klar"],"or drop your images here (Max 20)":["oder ziehen Sie Ihre Bilder hierher (maximal 20)"],"PNG, JPG, JPEG":["PNG, JPG, JPEG"],"Max size: 5 MB per file":["Maximale Gr\u00f6\u00dfe: 5 MB pro Datei"],"You have not selected any images yet.":["Sie haben noch keine Bilder ausgew\u00e4hlt."],"We couldn't find anything with your keyword.":["Wir konnten mit Ihrem Schl\u00fcsselwort nichts finden."],"Try to refine your search.":["Versuchen Sie, Ihre Suche zu verfeinern."],"Find the perfect images for your website by entering a keyword or selecting from the suggested options.":["Finden Sie die perfekten Bilder f\u00fcr Ihre Website, indem Sie ein Schl\u00fcsselwort eingeben oder aus den vorgeschlagenen Optionen ausw\u00e4hlen."],"End of the search results":["Ende der Suchergebnisse"],"Save & Exit":["Speichern & Beenden"],"Images":["Bilder"],"Select relevant images as needed":["W\u00e4hlen Sie bei Bedarf relevante Bilder aus"],"Choose the Design":["W\u00e4hlen Sie das Design"],"Add a keyword":["Ein Schl\u00fcsselwort hinzuf\u00fcgen"],"Error while fetching templates":["Fehler beim Abrufen der Vorlagen"],"Load More Designs":["Mehr Designs laden"],"Design":["Design"],"Choose a structure for your website":["W\u00e4hlen Sie eine Struktur f\u00fcr Ihre Website"],"Features":["Funktionen"],"Select features as you need":["W\u00e4hlen Sie Funktionen nach Bedarf aus"],"Resetting posts.":["Beitr\u00e4ge zur\u00fccksetzen."],"Resetting posts failed.":["Zur\u00fccksetzen der Beitr\u00e4ge fehlgeschlagen."],"Taking settings backup.":["Einstellungen werden gesichert."],"Taking settings backup failed.":["Das Erstellen eines Sicherungsbackups der Einstellungen ist fehlgeschlagen."],"Resetting customizer.":["Zur\u00fccksetzen des Anpasstools."],"Resetting customizer failed.":["Zur\u00fccksetzen des Anpasstools fehlgeschlagen."],"Resetting site options.":["Zur\u00fccksetzen der Website-Optionen."],"Resetting site options Failed.":["Zur\u00fccksetzen der Website-Optionen fehlgeschlagen."],"Resetting widgets.":["Widgets zur\u00fccksetzen."],"Resetting widgets JSON parse failed.":["Zur\u00fccksetzen der Widgets JSON-Analyse fehlgeschlagen."],"Resetting widgets failed.":["Das Zur\u00fccksetzen der Widgets ist fehlgeschlagen."],"Resetting terms and forms.":["Zur\u00fccksetzen von Bedingungen und Formularen."],"Resetting terms and forms failed.":["Das Zur\u00fccksetzen der Bedingungen und Formulare ist fehlgeschlagen."],"Gathering posts for deletions.":["Sammeln von Beitr\u00e4gen zur L\u00f6schung."],"Resetting posts done.":["Zur\u00fccksetzen der Beitr\u00e4ge abgeschlossen."],"Importing Site Content Failed. - Import Process Interrupted":["Importieren von Website-Inhalten fehlgeschlagen. - Importvorgang unterbrochen"],"Importing - %1$s":["Importieren - %1$s"],"Are you sure you want to cancel the site import process?":["Sind Sie sicher, dass Sie den Importvorgang der Website abbrechen m\u00f6chten?"],"Retrying Import.":["Import wird erneut versucht."],"Preparing your site for import\u2026":["Bereite deine Seite f\u00fcr den Import vor\u2026"],"Preparing the site\u2026":["Bereite die Seite vor\u2026"],"Please wait a moment\u2026":["Bitte warten Sie einen Moment\u2026"],"Failed to create website":["Erstellung der Website fehlgeschlagen"],"The website is created successfully!":["Die Website wurde erfolgreich erstellt!"],"Starting Import.":["Import wird gestartet."],"Resetting site.":["Website wird zur\u00fcckgesetzt."],"Reset for old website is done.":["Der Reset f\u00fcr die alte Website ist abgeschlossen."],"Downloading Image %s":["Bild %s wird heruntergeladen"],"Downloading images failed.":["Das Herunterladen von Bildern ist fehlgeschlagen."],"Importing forms.":["Formulare werden importiert."],"Importing Customizer failed due to parse JSON error.":["Importieren des Customizers ist aufgrund eines JSON-Parsing-Fehlers fehlgeschlagen."],"Importing Customizer Failed.":["Importieren des Customizers fehlgeschlagen."],"Importing Spectra Settings.":["Importiere Spektreneinstellungen."],"Importing Spectra Settings failed due to parse JSON error.":["Importieren der Spektreneinstellungen ist aufgrund eines JSON-Parsing-Fehlers fehlgeschlagen."],"Importing Spectra Settings Failed.":["Importieren der Spektreneinstellungen fehlgeschlagen."],"Importing Surecart Settings failed.":["Das Importieren der Surecart-Einstellungen ist fehlgeschlagen."],"Importing Surecart Settings Failed.":["Importieren der Surecart-Einstellungen fehlgeschlagen."],"Importing Site Content.":["Importieren von Website-Inhalten."],"Installing Required Plugins.":["Installation der erforderlichen Plugins."],"%1$s plugin installed successfully.":["%1$s Plugin erfolgreich installiert."],"Could not install the plugin - %s":["Konnte das Plugin nicht installieren - %s"],"Importing Site Options.":["Importiere Site-Optionen."],"Importing Site Options failed due to parse JSON error.":["Das Importieren der Site-Optionen ist aufgrund eines JSON-Parsing-Fehlers fehlgeschlagen."],"Importing Site Options Failed.":["Importieren der Site-Optionen fehlgeschlagen."],"Importing Widgets.":["Widgets importieren."],"Importing Widgets failed due to parse JSON error.":["Der Import von Widgets ist aufgrund eines JSON-Parsing-Fehlers fehlgeschlagen."],"Importing Widgets Failed.":["Importieren von Widgets fehlgeschlagen."],"Processing content for pages.":["Inhalt f\u00fcr Seiten verarbeiten."],"Gutenberg batch failed.":["Gutenberg-Batch fehlgeschlagen."],"Gutenberg Batch Failed.":["Gutenberg-Batch fehlgeschlagen."],"Processing images.":["Bilder werden verarbeitet."],"Image processing failed.":["Bildverarbeitung fehlgeschlagen."],"Final finishing.":["Endg\u00fcltige Fertigstellung."],"Final finishing failed due to parse JSON error.":["Der endg\u00fcltige Abschluss ist aufgrund eines JSON-Parsing-Fehlers fehlgeschlagen."],"Final finishing Failed.":["Endg\u00fcltige Fertigstellung fehlgeschlagen."],"Activating %1$s plugin.":["Aktivierung des %1$s-Plugins."],"%1$s activated.":["%1$s aktiviert."],"JSON_Error: Could not activate the required plugin - %1$s.":["JSON_Error: Konnte das erforderliche Plugin nicht aktivieren - %1$s."],"Could not activate the required plugin - %1$s.":["Konnte das erforderliche Plugin - %1$s - nicht aktivieren."],"We are building your website\u2026":["Wir erstellen Ihre Website\u2026"],"Migrating":["Migrieren"],"Done":["Fertig"],"Your website is ready!":["Ihre Website ist fertig!"],"Woohoo, your website %1$s is ready!":["Woohoo, Ihre Website %1$s ist fertig!"],"You did it! Your brand new website is all set to shine online.":["Du hast es geschafft! Deine brandneue Website ist bereit, online zu gl\u00e4nzen."],"See Your Website":["Sehen Sie Ihre Website"],"Visit Dashboard":["Dashboard besuchen"],"Congratulations! Your website is ready!":["Herzlichen Gl\u00fcckwunsch! Ihre Website ist fertig!"],"The requested URL was not found.":["Die angeforderte URL wurde nicht gefunden."],"The URL may have been typed incorrectly. Or it might be a broken or outdated link.":["Die URL wurde m\u00f6glicherweise falsch eingegeben. Oder es k\u00f6nnte sich um einen defekten oder veralteten Link handeln."],"You've successfully generated %1$s AI sites with your %2$s account. Do much more with the %3$s Plan:":["Sie haben erfolgreich %1$s KI-Websites mit Ihrem %2$s-Konto erstellt. Machen Sie viel mehr mit dem %3$s-Plan:"],"Required plugins could not be verified.":["Erforderliche Plugins konnten nicht verifiziert werden."],"Astra theme activation failed.":["Aktivierung des Astra-Themas fehlgeschlagen."],"Theme installation failed.":["Die Installation des Themes ist fehlgeschlagen."],"Failed to check File Permissions":["\u00dcberpr\u00fcfung der Dateiberechtigungen fehlgeschlagen"],"Failed to save Site Logo":["Speichern des Site-Logos fehlgeschlagen"],"Failed to save Color Palletes":["Fehler beim Speichern der Farbpaletten"],"Failed to save Typography":["Speichern der Typografie fehlgeschlagen"],"Failed to save Site Language":["Speichern der Website-Sprache fehlgeschlagen"],"%1$sRead article%2$s to resolve the issue and continue importing the template.":["%1$sLesen Sie den Artikel%2$s, um das Problem zu l\u00f6sen und das Template weiter zu importieren."]}}}/*! elementor - v3.12.2 - 23-04-2023 */ .elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}/*! For license information please see editor-site-navigation.js.LICENSE.txt */ !function(){"use strict";var e={"./packages/packages/core/editor-site-navigation/src/api/post.ts":function(e,t,n){n.r(t),n.d(t,{POST_PER_PAGE:function(){return r},createRequest:function(){return createRequest},deleteRequest:function(){return deleteRequest},duplicateRequest:function(){return duplicateRequest},getRequest:function(){return getRequest},postTypesMap:function(){return i},updateRequest:function(){return updateRequest}});var o=n("@wordpress/api-fetch"),s=n.n(o),a=n("@wordpress/i18n");const i={page:{labels:{singular_name:(0,a.__)("Page","elementor"),plural_name:(0,a.__)("Pages","elementor")},rest_base:"pages"}},r=10,getRequest=async(e,t)=>{const n=`/wp/v2/${i[e].rest_base}`+"?"+new URLSearchParams({status:"any",order:"asc",page:t.toString(),per_page:r.toString(),_fields:["id","type","title","link","status","user_can"].join(",")}).toString(),o=await s()({path:n,parse:!1});return{data:await o.json(),totalPages:Number(o.headers.get("x-wp-totalpages")),totalPosts:Number(o.headers.get("x-wp-total")),currentPage:t}},createRequest=(e,t)=>{const n=`/wp/v2/${i[e].rest_base}`;return s()({path:n,method:"POST",data:t})},updateRequest=(e,t)=>{const n=`/wp/v2/${i[e].rest_base}`,{id:o,...a}=t;return s()({path:`${n}/${o}`,method:"POST",data:a})},deleteRequest=(e,t)=>{const n=`/wp/v2/${i[e].rest_base}`;return s()({path:`${n}/${t}`,method:"DELETE"})},duplicateRequest=e=>s()({path:"/elementor/v1/site-navigation/duplicate-post",method:"POST",data:{post_id:e.id,title:e.title}})},"./packages/packages/core/editor-site-navigation/src/api/recent-posts.ts":function(e,t,n){n.r(t),n.d(t,{NUMBER_OF_RECENT_POSTS:function(){return i},baseUrl:function(){return a},getRequest:function(){return getRequest}});var o=n("@wordpress/api-fetch"),s=n.n(o);const a="/elementor/v1/site-navigation/recent-posts",i=6,getRequest=()=>{const e=new URLSearchParams({posts_per_page:`${i}`}),t=`${a}?${e.toString()}`;return s()({path:t})}},"./packages/packages/core/editor-site-navigation/src/api/settings.ts":function(e,t,n){n.r(t),n.d(t,{getSettings:function(){return getSettings},updateSettings:function(){return updateSettings}});var o=n("@wordpress/api-fetch"),s=n.n(o);const getSettings=()=>s()({path:"/elementor/v1/site-navigation/homepage"}),updateSettings=e=>s()({path:"/wp/v2/settings",method:"POST",data:e})},"./packages/packages/core/editor-site-navigation/src/api/user.ts":function(e,t,n){n.r(t),n.d(t,{getUser:function(){return getUser}});var o=n("@wordpress/api-fetch"),s=n.n(o);const getUser=()=>{const e="/wp/v2/users/me?"+new URLSearchParams({_fields:["capabilities"].join(","),context:"edit"}).toString();return s()({path:e})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ActionMenuItem}});var o=n("react"),s=n("@elementor/ui");function ActionMenuItem({title:e,icon:t,MenuItemProps:n}){return o.createElement(s.MenuItem,n,o.createElement(s.ListItemIcon,{sx:{color:"inherit"}},o.createElement(t,null)),o.createElement(s.ListItemText,{primary:e}))}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/delete.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Delete}});var o=n("react"),s=n("@elementor/editor-documents"),a=n("@elementor/icons"),i=n("@elementor/ui"),r=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function Delete({post:e}){const[t,n]=(0,o.useState)(!1),i=(0,s.__useActiveDocument)(),c=i?.id===e.id,l=!e.user_can.delete||e.isHome||c;return o.createElement(o.Fragment,null,o.createElement(p.default,{title:(0,r.__)("Delete","elementor"),icon:a.TrashIcon,MenuItemProps:{disabled:l,onClick:()=>n(!0),sx:{"&:hover":{color:"error.main"}}}}),t&&o.createElement(DeleteDialog,{post:e,setIsDialogOpen:n}))}function DeleteDialog({post:e,setIsDialogOpen:t}){const{type:n}=(0,c.usePostListContext)(),{deletePost:s}=(0,l.usePostActions)(n),{setError:a}=(0,c.usePostListContext)(),p=(0,r.sprintf)((0,r.__)('Delete "%s"?',"elementor"),e.title.rendered),handleCancel=()=>{s.isPending||t(!1)};return o.createElement(i.Dialog,{open:!0,onClose:handleCancel,"aria-labelledby":"delete-dialog"},o.createElement(i.DialogTitle,{noWrap:!0},p),o.createElement(i.Divider,null),o.createElement(i.DialogContent,null,o.createElement(i.DialogContentText,null,(0,r.__)("The page and its content will be deleted forever and we won’t be able to recover them.","elementor"))),o.createElement(i.DialogActions,null,o.createElement(i.Button,{variant:"contained",color:"secondary",onClick:handleCancel,disabled:s.isPending},(0,r.__)("Cancel","elementor")),o.createElement(i.Button,{variant:"contained",color:"error",onClick:async()=>{try{await s.mutateAsync(e.id)}catch{a(),t(!1)}},disabled:s.isPending},s.isPending?o.createElement(i.CircularProgress,null):(0,r.__)("Delete","elementor"))))}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/duplicate.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Duplicate}});var o=n("react"),s=n("@elementor/icons"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function Duplicate({post:e,popupState:t}){const{setEditMode:n}=(0,i.usePostListContext)(),{data:l}=(0,r.default)(),p=!l?.capabilities?.edit_pages;return o.createElement(c.default,{title:(0,a.__)("Duplicate","elementor"),icon:s.CopyIcon,MenuItemProps:{disabled:p,onClick:()=>{t.close(),n({mode:"duplicate",details:{postId:e.id,title:e.title.rendered}})}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/rename.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Rename}});var o=n("react"),s=n("@elementor/icons"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function Rename({post:e}){const{setEditMode:t}=(0,i.usePostListContext)();return o.createElement(r.default,{title:(0,a.__)("Rename","elementor"),icon:s.EraseIcon,MenuItemProps:{disabled:!e.user_can.edit,onClick:()=>{t({mode:"rename",details:{postId:e.id}})}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/set-home.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return SetHome}});var o=n("react"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-homepage-actions.ts"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function SetHome({post:e,closeMenu:t}){const{updateSettingsMutation:n}=(0,c.useHomepageActions)(),{setError:u}=(0,r.usePostListContext)(),{data:d}=(0,l.default)(),m=!!d?.capabilities?.manage_options,g="publish"===e.status,f=!!e.isHome,k=!m||f||!g||n.isPending;return o.createElement(p.default,{title:(0,i.__)("Set as homepage","elementor"),icon:n.isPending?a.CircularProgress:s.HomeIcon,MenuItemProps:{disabled:k,onClick:async()=>{try{await n.mutateAsync({show_on_front:"page",page_on_front:e.id})}catch{u()}finally{t()}}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/view.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return View}});var o=n("react"),s=n("@elementor/icons"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/api/post.ts"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function View({post:e}){const{type:t}=(0,r.usePostListContext)(),n=(0,a.__)("View %s","elementor").replace("%s",i.postTypesMap[t].labels.singular_name);return o.createElement(c.default,{title:n,icon:s.EyeIcon,MenuItemProps:{onClick:()=>window.open(e.link,"_blank")}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/add-new-button.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return AddNewButton}});var o=n("react"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts");function AddNewButton(){const{setEditMode:e}=(0,r.usePostListContext)(),{data:t}=(0,c.default)();return o.createElement(a.Button,{size:"small",startIcon:o.createElement(s.PlusIcon,null),disabled:!t?.capabilities?.edit_pages,onClick:()=>{e({mode:"create",details:{}})},sx:{px:1.5}},(0,i.__)("Add New","elementor"))}},"./packages/packages/core/editor-site-navigation/src/components/panel/error-snackbar.tsx":function(e,t,n){n.r(t);var o=n("react"),s=n("@elementor/ui");t.default=({open:e,onClose:t})=>o.createElement(s.Snackbar,{open:e,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"left"}},o.createElement(s.Alert,{onClose:t,severity:"error",sx:{width:"100%"}},o.createElement(s.Typography,{component:"span",sx:{fontWeight:"bold"}},"We couldn’t complete the action.")," ","Please try again"))},"./packages/packages/core/editor-site-navigation/src/components/panel/panel.ts":function(e,t,n){n.r(t),n.d(t,{panel:function(){return a},usePanelActions:function(){return r},usePanelStatus:function(){return i}});var o=n("@elementor/editor-panels"),s=n("./packages/packages/core/editor-site-navigation/src/components/panel/shell.tsx");const{panel:a,usePanelStatus:i,usePanelActions:r}=(0,o.__createPanel)({id:"site-navigation-panel",component:s.default})},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/collapsible-list.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return CollapsibleList}});var o=n("react"),s=n("@elementor/icons"),a=n("@elementor/ui");const i=(0,a.styled)(s.ChevronDownIcon,{shouldForwardProp:e=>"isOpen"!==e})(({theme:e,isOpen:t})=>({transform:t?"rotate(0deg)":"rotate(-90deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.standard})})),r=(0,a.styled)(a.ListItemIcon)(({theme:e})=>({minWidth:e.spacing(4)}));function CollapsibleList({label:e,Icon:t,isOpenByDefault:n=!1,children:s}){const[c,l]=(0,o.useState)(n);return o.createElement(o.Fragment,null,o.createElement(a.ListItem,null,o.createElement(r,{sx:{color:"text.secondary"}},o.createElement(a.IconButton,{onClick:()=>l(e=>!e),size:"small",sx:{color:"inherit"}},o.createElement(i,{fontSize:"small",isOpen:c}))),o.createElement(r,{size:"small",sx:{color:"inherit"}},o.createElement(t,{fontSize:"small"})),o.createElement(a.ListItemText,{primaryTypographyProps:{variant:"subtitle2",component:"span"},primary:e})),o.createElement(a.Collapse,{in:c,timeout:"auto",unmountOnExit:!0},o.createElement(a.List,{dense:!0},s)),o.createElement(a.Divider,{sx:{mt:1}}))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/error-state.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ErrorState}});var o=n("react"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("@wordpress/i18n");function ErrorState(){return o.createElement(a.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",pt:"40px",gap:"16px"}},o.createElement(s.Error404TemplateIcon,null),o.createElement(a.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:"8px"}},o.createElement(a.Typography,{variant:"body1",color:"text.primary"},(0,i.__)("We couldn’t display your pages.","elementor")),o.createElement(a.Box,null,o.createElement(a.Typography,{variant:"body2",color:"text.primary",sx:{textAlign:"center"}},(0,i.__)("It’s probably a temporary issue.","elementor")),o.createElement(a.Typography,{variant:"body2",color:"text.primary",sx:{textAlign:"center"}},(0,i.__)("If the problem persists,","elementor")," ",o.createElement(a.Link,{target:"_blank",href:"https://go.elementor.com/wp-editor-support-open-ticket/"},"Notify support")))))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return EditModeTemplate}});var o=n("react"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx");function EditModeTemplate({postTitle:e,isLoading:t,callback:n}){const[s,r]=(0,o.useState)(e),[c,l]=(0,o.useState)(!1),[p,u]=(0,o.useState)(null),d=(0,o.useRef)(),validateInput=e=>""!==e.trim(),runCallback=()=>{validateInput(s)&&n(s)};return o.createElement(o.Fragment,null,o.createElement(a.ListItem,{secondaryAction:o.createElement(CloseButton,{isLoading:t,closeButton:d})},o.createElement(a.Box,{width:"100%",component:"form",onSubmit:e=>{e.preventDefault(),runCallback()}},o.createElement(a.TextField,{autoFocus:!0,fullWidth:!0,value:s,onChange:e=>{c||l(!0);const t=e.target.value;validateInput(t)?u(null):u((0,i.__)("Name is required","elementor")),r(t)},disabled:t,error:!!p,onBlur:e=>{d.current!==e.relatedTarget&&runCallback()},variant:"outlined",color:"secondary",size:"small"}))),p&&o.createElement(a.ListItem,null,o.createElement(a.ListItemText,{sx:{color:"error.main"}},p)))}function CloseButton({isLoading:e,closeButton:t}){const{resetEditMode:n}=(0,r.usePostListContext)();return o.createElement(a.IconButton,{size:"small",color:"secondary",onClick:n,ref:t,disabled:e},e?o.createElement(a.CircularProgress,null):o.createElement(s.XIcon,{fontSize:"small"}))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-create.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemCreate}});var o=n("react"),s=n("@elementor/editor-documents"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx");function ListItemCreate(){const{type:e,resetEditMode:t}=(0,i.usePostListContext)(),{createPost:n}=(0,r.usePostActions)(e),l=(0,s.__useNavigateToDocument)(),{setError:p}=(0,i.usePostListContext)();return o.createElement(c.default,{postTitle:(0,a.__)("New Page","elementor"),isLoading:n.isPending,callback:async e=>{try{const{id:t}=await n.mutateAsync({title:e,status:"draft"});l(t)}catch{p()}finally{t()}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-duplicate.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemDuplicate}});var o=n("react"),s=n("@elementor/editor-documents"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx");function ListItemDuplicate(){const{type:e,editMode:t,resetEditMode:n}=(0,i.usePostListContext)(),l=(0,s.__useNavigateToDocument)(),{duplicatePost:p}=(0,r.usePostActions)(e),{setError:u}=(0,i.usePostListContext)();if("duplicate"!==t.mode)return null;return o.createElement(c.default,{postTitle:`${t.details.title} ${(0,a.__)("copy","elementor")}`,isLoading:p.isPending,callback:async e=>{try{const{post_id:n}=await p.mutateAsync({id:t.details.postId,title:e});l(n)}catch{u()}finally{n()}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-rename.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemRename}});var o=n("react"),s=n("@elementor/editor-documents"),a=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),r=n("./packages/packages/core/editor-site-navigation/src/hooks/use-rename-active-document.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx");function ListItemRename({post:e}){const{type:t,resetEditMode:n}=(0,a.usePostListContext)(),{updatePost:l}=(0,i.usePostActions)(t),{setError:p}=(0,a.usePostListContext)(),u=(0,s.__useActiveDocument)(),d=(0,r.default)(),m=u?.id===e.id,g=m?u?.title:e.title.rendered;return o.createElement(c.default,{postTitle:g,isLoading:l.isPending,callback:async t=>{t===g&&n();try{m?await d(t):await l.mutateAsync({id:e.id,title:t})}catch{p()}finally{n()}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-view.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemView}});var o=n("react"),s=n("@elementor/editor-documents"),a=n("@elementor/icons"),i=n("@elementor/ui"),r=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-site-navigation/src/components/shared/page-title-and-status.tsx"),l=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/delete.tsx"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/duplicate.tsx"),u=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/rename.tsx"),d=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/set-home.tsx"),m=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/view.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(t){const t=o.createElement(i.Typography,{variant:"caption"},"You cannot edit this page.",o.createElement("br",null),"To edit it directly, contact the site owner");return o.createElement(i.Tooltip,{title:t,placement:"bottom",arrow:!1},e)}return o.createElement(o.Fragment,null,e)};function ListItemView({post:e}){const t=(0,s.__useActiveDocument)(),n=(0,s.__useNavigateToDocument)(),g=(0,i.usePopupState)({variant:"popover",popupId:"post-actions",disableAutoFocus:!0}),f=t?.id===e.id,k=f?t?.status.value:e.status,v=f?t?.title:e.title.rendered,x=!e.user_can.edit;return o.createElement(o.Fragment,null,o.createElement(DisabledPostTooltip,{isDisabled:x},o.createElement(i.ListItem,{disablePadding:!0,secondaryAction:o.createElement(i.IconButton,_extends({value:!0,size:"small"},(0,i.bindTrigger)(g)),o.createElement(a.DotsVerticalIcon,{fontSize:"small"}))},o.createElement(i.ListItemButton,{selected:f,disabled:x,onClick:()=>{f||n(e.id)},dense:!0},o.createElement(i.ListItemText,{disableTypography:!0},o.createElement(c.default,{title:v,status:k})),e.isHome&&o.createElement(a.HomeIcon,{titleAccess:(0,r.__)("Homepage","elementor"),color:"disabled"})))),o.createElement(i.Menu,_extends({PaperProps:{sx:{mt:2,width:200}},MenuListProps:{dense:!0}},(0,i.bindMenu)(g)),o.createElement(u.default,{post:e}),o.createElement(p.default,{post:e,popupState:g}),o.createElement(l.default,{post:e}),o.createElement(m.default,{post:e}),o.createElement(i.Divider,null),o.createElement(d.default,{post:e,closeMenu:()=>g.close()})))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/post-list-item.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PostListItem}});var o=n("react"),s=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),a=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-create.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-duplicate.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-rename.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-view.tsx");function PostListItem({post:e}){const{editMode:t}=(0,s.usePostListContext)();return"rename"===t.mode&&e?.id&&e?.id===t.details.postId?o.createElement(r.default,{post:e}):"create"!==t.mode||e?"duplicate"!==t.mode||e?e?o.createElement(c.default,{post:e}):null:o.createElement(i.default,null):o.createElement(a.default,null)}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/posts-collapsible-list.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PostsCollapsibleList}});var o=n("react"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("./packages/packages/core/editor-site-navigation/src/api/post.ts"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-homepage.ts"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts.ts"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/add-new-button.tsx"),u=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/collapsible-list.tsx"),d=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/error-state.tsx"),m=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/post-list-item.tsx");function PostsCollapsibleList({isOpenByDefault:e=!1}){const{type:t,editMode:n}=(0,r.usePostListContext)(),{data:{posts:g,total:f},isLoading:k,isError:v,fetchNextPage:x,hasNextPage:y,isFetchingNextPage:_}=(0,l.usePosts)(t),{data:E}=(0,c.useHomepage)();if(v)return o.createElement(d.default,null);if(!g||k)return o.createElement(a.Box,{sx:{px:5}},o.createElement(a.Box,{display:"flex",justifyContent:"flex-end",alignItems:"center"},o.createElement(a.Skeleton,{sx:{my:4},animation:"wave",variant:"rounded",width:"110px",height:"28px"})),o.createElement(a.Box,null,o.createElement(a.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"100%",height:"24px"}),o.createElement(a.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"}),o.createElement(a.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"}),o.createElement(a.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"})));const h=`${i.postTypesMap[t].labels.plural_name} (${f.toString()})`,P=g.map(e=>e.id===E?{...e,isHome:!0}:e).sort((e,t)=>e.id===E?-1:t.id===E?1:0);return o.createElement(o.Fragment,null,o.createElement(a.Box,{display:"flex",justifyContent:"flex-end",alignItems:"center",sx:{py:1,px:2}},o.createElement(p.default,null)),o.createElement(a.List,{dense:!0},o.createElement(u.default,{label:h,Icon:s.PageTypeIcon,isOpenByDefault:e||!1},P.map(e=>o.createElement(m.default,{key:e.id,post:e})),["duplicate","create"].includes(n.mode)&&o.createElement(m.default,null),y&&o.createElement(a.Box,{sx:{display:"flex",justifyContent:"center"}},o.createElement(a.Button,{onClick:x,color:"secondary"},_?o.createElement(a.CircularProgress,null):"Load More")))))}},"./packages/packages/core/editor-site-navigation/src/components/panel/shell.tsx":function(e,t,n){n.r(t);var o=n("react"),s=n("@elementor/editor-panels"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/components/panel/error-snackbar.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/posts-collapsible-list.tsx");t.default=()=>{const[e,t]=(0,o.useState)(!1);return o.createElement(s.Panel,null,o.createElement(s.PanelHeader,null,o.createElement(s.PanelHeaderTitle,null,(0,a.__)("Pages","elementor"))),o.createElement(s.PanelBody,null,o.createElement(i.PostListContextProvider,{type:"page",setError:()=>t(!0)},o.createElement(c.default,{isOpenByDefault:!0})),o.createElement(r.default,{open:e,onClose:()=>t(!1)})))}},"./packages/packages/core/editor-site-navigation/src/components/shared/page-title-and-status.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PageTitleAndStatus}});var o=n("react"),s=n("@elementor/ui"),a=n("./packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts");const PageStatus=({status:e})=>"publish"===e?null:o.createElement(s.Typography,{component:"span",variant:"body2",color:"text.secondary",sx:{textTransform:"capitalize",fontStyle:"italic",whiteSpace:"nowrap",flexBasis:"content"}},"(",e,")"),PageTitle=({title:e})=>{const t=(0,a.useReverseHtmlEntities)(e);return o.createElement(s.Typography,{component:"span",variant:"body2",color:"text.secondary",noWrap:!0,sx:{flexBasis:"auto"}},t)};function PageTitleAndStatus({title:e,status:t}){return o.createElement(s.Box,{display:"flex"},o.createElement(PageTitle,{title:e})," ",o.createElement(PageStatus,{status:t}))}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/chip-doc-type.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return DocTypeChip}});var o=n("react"),s=n("@elementor/icons"),a=n("@elementor/ui");const i=(0,n("./packages/packages/core/editor-site-navigation/src/icons-map.ts").getIconsMap)();function DocTypeChip({postType:e,docType:t,label:n}){const r="elementor_library"===e?"global":"primary",c=i[t]||s.PostTypeIcon;return o.createElement(a.Chip,{component:"span",size:"small",variant:"outlined",label:n,"data-value":t,color:r,icon:o.createElement(c,null),sx:{ml:1,cursor:"inherit"}})}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/create-post-list-item.tsx":function(e,t,n){n.r(t),n.d(t,{CreatePostListItem:function(){return CreatePostListItem}});var o=n("react"),s=n("@elementor/editor-documents"),a=n("@elementor/icons"),i=n("@elementor/ui"),r=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-create-page.ts"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{id:t}=await n();e(),await u(t)}},t),o.createElement(i.ListItemIcon,null,p?o.createElement(i.CircularProgress,{size:"1.25rem"}):o.createElement(a.PlusIcon,{fontSize:"small"})),o.createElement(i.ListItemText,{primaryTypographyProps:{variant:"body2"},primary:(0,r.__)("Add new page","elementor")}))}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/indicator.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Indicator}});var o=n("react"),s=n("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t(),await c(e.id)}},n),o.createElement(a.ListItemText,{sx:{flexGrow:0},primaryTypographyProps:{variant:"body2",noWrap:!0},primary:l}),o.createElement(r.default,{postType:e.type.post_type,docType:e.type.doc_type,label:e.type.label}))}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/recently-edited.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return RecentlyEdited}});var o=n("react"),s=n("@elementor/editor-documents"),a=n("@elementor/icons"),i=n("@elementor/ui"),r=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-site-navigation/src/api/recent-posts.ts"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-recent-posts.ts"),p=n("./packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts"),u=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/create-post-list-item.tsx"),d=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/indicator.tsx"),m=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/post-list-item.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;te.id!==n?.id).splice(0,c.NUMBER_OF_RECENT_POSTS-1):[],k=(0,i.usePopupState)({variant:"popover",popupId:"elementor-v2-top-bar-recently-edited"}),v=(0,p.useReverseHtmlEntities)(n?.title);if(!n)return null;const x=(0,i.bindTrigger)(k);return o.createElement(o.Fragment,null,o.createElement(i.Button,_extends({color:"inherit",size:"small",endIcon:o.createElement(a.ChevronDownIcon,{fontSize:"small"})},x,{onClick:e=>{const t=window,n=t?.elementorCommon?.eventsManager?.config;n&&t.elementorCommon.eventsManager.dispatchEvent(n.names.topBar.documentNameDropdown,{location:n.locations.topBar,secondaryLocation:n.secondaryLocations.documentNameDropdown,trigger:n.triggers.dropdownClick,element:n.elements.dropdown}),x.onClick(e)}}),o.createElement(d.default,{title:v,status:n.status})),o.createElement(i.Menu,_extends({MenuListProps:{subheader:o.createElement(i.ListSubheader,{color:"primary",sx:{fontStyle:"italic",fontWeight:"300"}},(0,r.__)("Recent","elementor"))},PaperProps:{sx:{mt:2.5,width:320}}},(0,i.bindMenu)(k)),f.map(e=>o.createElement(m.PostListItem,{key:e.id,post:e,closePopup:k.close})),0===f.length&&o.createElement(i.MenuItem,{disabled:!0},o.createElement(i.ListItemText,{primaryTypographyProps:{variant:"caption",fontStyle:"italic"},primary:(0,r.__)("There are no other pages or templates on this site yet.","elementor")})),o.createElement(i.Divider,{disabled:0===f.length}),o.createElement(u.CreatePostListItem,{closePopup:k.close})))}},"./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx":function(e,t,n){n.r(t),n.d(t,{PostListContextProvider:function(){return PostListContextProvider},usePostListContext:function(){return usePostListContext}});var o=n("react");const s={type:"page",editMode:{mode:"none",details:{}},setEditMode:()=>null,resetEditMode:()=>null,setError:()=>null},a=(0,o.createContext)(s),PostListContextProvider=({type:e,setError:t,children:n})=>{const[i,r]=(0,o.useState)(s.editMode);return o.createElement(a.Provider,{value:{type:e,editMode:i,setEditMode:r,resetEditMode:()=>{r(s.editMode)},setError:t}},n)};function usePostListContext(){const e=(0,o.useContext)(a);if(!e)throw new Error("The `usePostListContext()` hook must be used within an ``");return e}},"./packages/packages/core/editor-site-navigation/src/env.ts":function(e,t,n){n.r(t),n.d(t,{env:function(){return s}});var o=n("@elementor/env");const{env:s}=(0,o.parseEnv)("@elementor/editor-site-navigation",e=>e)},"./packages/packages/core/editor-site-navigation/src/hooks/use-create-page.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useCreatePage},endpointPath:function(){return i}});var o=n("react"),s=n("@wordpress/api-fetch"),a=n.n(s);const i="/elementor/v1/site-navigation/add-new-post";function useCreatePage(){const[e,t]=(0,o.useState)(!1);return{create:()=>(t(!0),async function addNewPage(){return await a()({path:i,method:"POST",data:{post_type:"page"}})}().then(e=>e).finally(()=>t(!1))),isLoading:e}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-homepage-actions.ts":function(e,t,n){n.r(t),n.d(t,{useHomepageActions:function(){return useHomepageActions}});var o=n("@elementor/query"),s=n("./packages/packages/core/editor-site-navigation/src/api/settings.ts"),a=n("./packages/packages/core/editor-site-navigation/src/hooks/use-homepage.ts");function useHomepageActions(){const e=function useInvalidateSettings(){const e=(0,o.useQueryClient)();return(t={})=>{const n=(0,a.settingsQueryKey)();return e.invalidateQueries({queryKey:n},t)}}();return{updateSettingsMutation:(0,o.useMutation)({mutationFn:e=>(0,s.updateSettings)(e),onSuccess:async()=>e({exact:!0})})}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-homepage.ts":function(e,t,n){n.r(t),n.d(t,{settingsQueryKey:function(){return settingsQueryKey},useHomepage:function(){return useHomepage}});var o=n("@elementor/query"),s=n("./packages/packages/core/editor-site-navigation/src/api/settings.ts");const settingsQueryKey=()=>["site-navigation","homepage"];function useHomepage(){return(0,o.useQuery)({queryKey:settingsQueryKey(),queryFn:()=>(0,s.getSettings)()})}},"./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts":function(e,t,n){n.r(t),n.d(t,{usePostActions:function(){return usePostActions}});var o=n("@elementor/query"),s=n("./packages/packages/core/editor-site-navigation/src/api/post.ts"),a=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts.ts"),i=n("./packages/packages/core/editor-site-navigation/src/hooks/use-recent-posts.ts");function usePostActions(e){const t=function useInvalidatePosts(e){const t=(0,o.useQueryClient)();return(n={})=>{const o=(0,a.postsQueryKey)(e);return t.invalidateQueries({queryKey:i.recentPostsQueryKey},n),t.invalidateQueries({queryKey:o},n)}}(e),onSuccess=()=>t({exact:!0});return{createPost:(0,o.useMutation)({mutationFn:t=>(0,s.createRequest)(e,t),onSuccess:onSuccess}),updatePost:(0,o.useMutation)({mutationFn:t=>(0,s.updateRequest)(e,t),onSuccess:onSuccess}),deletePost:(0,o.useMutation)({mutationFn:t=>(0,s.deleteRequest)(e,t),onSuccess:onSuccess}),duplicatePost:(0,o.useMutation)({mutationFn:e=>(0,s.duplicateRequest)(e),onSuccess:onSuccess})}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-posts.ts":function(e,t,n){n.r(t),n.d(t,{postsQueryKey:function(){return postsQueryKey},usePosts:function(){return usePosts}});var o=n("@elementor/query"),s=n("./packages/packages/core/editor-site-navigation/src/api/post.ts");const postsQueryKey=e=>["site-navigation","posts",e],flattenData=e=>{if(!e)return e;const t=[];return e.pages.forEach(e=>{t.push(...e.data)}),t};function usePosts(e){const t=(0,o.useInfiniteQuery)({queryKey:postsQueryKey(e),queryFn:({pageParam:t=1})=>(0,s.getRequest)(e,t),initialPageParam:1,getNextPageParam:e=>e.currentPage(0,s.getRequest)()})}},"./packages/packages/core/editor-site-navigation/src/hooks/use-rename-active-document.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useRenameActiveDocument}});var o=n("@elementor/editor-v1-adapters");function useRenameActiveDocument(){return async e=>{const t=function getV1DocumentsManager(){const e=window.elementor?.documents;if(!e)throw new Error("Elementor Editor V1 documents manager not found");return e}().getCurrent().container;await(0,o.__privateRunCommand)("document/elements/settings",{container:t,settings:{post_title:e}})}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts":function(e,t,n){n.r(t),n.d(t,{useReverseHtmlEntities:function(){return useReverseHtmlEntities}});var o=n("react");function useReverseHtmlEntities(e=""){return(0,o.useMemo)(()=>{const t=document.createElement("textarea");t.innerHTML=e;const{value:n}=t;return t.remove(),n},[e])}},"./packages/packages/core/editor-site-navigation/src/hooks/use-toggle-button-props.ts":function(e,t,n){n.r(t),n.d(t,{useToggleButtonProps:function(){return useToggleButtonProps}});var o=n("@elementor/icons"),s=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-site-navigation/src/components/panel/panel.ts");function useToggleButtonProps(){const{isOpen:e,isBlocked:t}=(0,a.usePanelStatus)(),{open:n,close:i}=(0,a.usePanelActions)();return{title:(0,s.__)("Pages","elementor"),icon:o.PagesIcon,onClick:()=>{const t=window,o=t?.elementorCommon?.eventsManager?.config;return o&&t.elementorCommon.eventsManager.dispatchEvent("top_bar_pages",{location:o.locations.topBar,secondaryLocation:o.secondaryLocations.elementorLogo,trigger:o.triggers.click,element:o.elements.buttonIcon}),e?i():n()},selected:e,disabled:t}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useUser}});var o=n("@elementor/query"),s=n("./packages/packages/core/editor-site-navigation/src/api/user.ts");const userQueryKey=()=>["site-navigation","user"];function useUser(){return(0,o.useQuery)({queryKey:userQueryKey(),queryFn:s.getUser,staleTime:18e5})}},"./packages/packages/core/editor-site-navigation/src/icons-map.ts":function(e,t,n){n.r(t),n.d(t,{extendIconsMap:function(){return extendIconsMap},getIconsMap:function(){return getIconsMap},resetIconsMap:function(){return resetIconsMap}});var o=n("@elementor/icons");const s={page:o.PageTemplateIcon,section:o.SectionTemplateIcon,container:o.ContainerTemplateIcon,"wp-page":o.PageTypeIcon,"wp-post":o.PostTypeIcon};let a={...s};function extendIconsMap(e){Object.assign(a,e)}function getIconsMap(){return a}function resetIconsMap(){a={...s}}},"./packages/packages/core/editor-site-navigation/src/init.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor-app-bar"),s=n("@elementor/editor-panels"),a=n("./packages/packages/core/editor-site-navigation/src/components/panel/panel.ts"),i=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/recently-edited.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/env.ts"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-toggle-button-props.ts");function init(){!function registerTopBarMenuItems(){(0,o.injectIntoPageIndication)({id:"document-recently-edited",component:i.default})}(),r.env.is_pages_panel_active&&((0,s.__registerPanel)(a.panel),function registerButton(){o.toolsMenu.registerToggleAction({id:"toggle-site-navigation-panel",priority:20,useProps:c.useToggleButtonProps})}())}},"@elementor/editor-app-bar":function(e){e.exports=window.elementorV2.editorAppBar},"@elementor/editor-documents":function(e){e.exports=window.elementorV2.editorDocuments},"@elementor/editor-panels":function(e){e.exports=window.elementorV2.editorPanels},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/env":function(e){e.exports=window.elementorV2.env},"@elementor/icons":function(e){e.exports=window.elementorV2.icons},"@elementor/query":function(e){e.exports=window.elementorV2.query},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@wordpress/api-fetch":function(e){e.exports=window.wp.apiFetch},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,__webpack_require__),s.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){__webpack_require__.r(n),__webpack_require__.d(n,{extendIconsMap:function(){return e.extendIconsMap},init:function(){return t.init}});var e=__webpack_require__("./packages/packages/core/editor-site-navigation/src/icons-map.ts"),t=__webpack_require__("./packages/packages/core/editor-site-navigation/src/init.ts")}(),(window.elementorV2=window.elementorV2||{}).editorSiteNavigation=n}(),window.elementorV2.editorSiteNavigation?.init?.(); //# sourceMappingURL=editor-site-navigation.js.map/*! * JQVMap: jQuery Vector Map Library * @author JQVMap * @version 1.5.1 * @link http://jqvmap.com * @license https://github.com/manifestinteractive/jqvmap/blob/master/LICENSE * @builddate 2016/05/18 */ ;var VectorCanvas=function(b,a,d){this.mode=window.SVGAngle?"svg":"vml";this.params=d;if(this.mode==="svg"){this.createSvgNode=function(e){return document.createElementNS(this.svgns,e)}}else{try{if(!document.namespaces.rvml){document.namespaces.add("rvml","urn:schemas-microsoft-com:vml")}this.createVmlNode=function(e){return document.createElement("')}}catch(c){this.createVmlNode=function(e){return document.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)")}if(this.mode==="svg"){this.canvas=this.createSvgNode("svg")}else{this.canvas=this.createVmlNode("group");this.canvas.style.position="absolute"}this.setSize(b,a)};VectorCanvas.prototype={svgns:"http://www.w3.org/2000/svg",mode:"svg",width:0,height:0,canvas:null};var ColorScale=function(a,b,c,d){if(a){this.setColors(a)}if(b){this.setNormalizeFunction(b)}if(c){this.setMin(c)}if(c){this.setMax(d)}};ColorScale.prototype={colors:[]};var JQVMap=function(g){g=g||{};var e=this;var f=JQVMap.maps[g.map];var h;if(!f){throw new Error('Invalid "'+g.map+'" map parameter. Please make sure you have loaded this map file in your HTML.')}this.selectedRegions=[];this.multiSelectRegion=g.multiSelectRegion;this.container=g.container;this.defaultWidth=f.width;this.defaultHeight=f.height;this.color=g.color;this.selectedColor=g.selectedColor;this.hoverColor=g.hoverColor;this.hoverColors=g.hoverColors;this.hoverOpacity=g.hoverOpacity;this.setBackgroundColor(g.backgroundColor);this.width=g.container.width();this.height=g.container.height();this.resize();jQuery(window).resize(function(){var j=g.container.width();var i=g.container.height();if(j&&i){e.width=j;e.height=i;e.resize();e.canvas.setSize(e.width,e.height);e.applyTransform();var k=jQuery.Event("resize.jqvmap");jQuery(g.container).trigger(k,[j,i]);if(h){jQuery(".jqvmap-pin").remove();e.pinHandlers=false;e.placePins(h.pins,h.mode)}}});this.canvas=new VectorCanvas(this.width,this.height,g);g.container.append(this.canvas.canvas);this.makeDraggable();this.rootGroup=this.canvas.createGroup(true);this.index=JQVMap.mapIndex;this.label=jQuery("
").addClass("jqvmap-label").appendTo(jQuery("body")).hide();if(g.enableZoom){jQuery("
").addClass("jqvmap-zoomin").text("+").appendTo(g.container);jQuery("
").addClass("jqvmap-zoomout").html("−").appendTo(g.container)}e.countries=[];for(var b in f.paths){var d=this.canvas.createPath({path:f.paths[b].path});d.setFill(this.color);d.id=e.getCountryId(b);e.countries[b]=d;if(this.canvas.mode==="svg"){d.setAttribute("class","jqvmap-region")}else{jQuery(d).addClass("jqvmap-region")}jQuery(this.rootGroup).append(d)}jQuery(g.container).delegate(this.canvas.mode==="svg"?"path":"shape","mouseover mouseout",function(m){var j=m.target,k=m.target.id.split("_").pop(),i=jQuery.Event("labelShow.jqvmap"),l=jQuery.Event("regionMouseOver.jqvmap");k=k.toLowerCase();if(m.type==="mouseover"){jQuery(g.container).trigger(l,[k,f.paths[k].name]);if(!l.isDefaultPrevented()){e.highlight(k,j)}if(g.showTooltip){e.label.text(f.paths[k].name);jQuery(g.container).trigger(i,[e.label,k]);if(!i.isDefaultPrevented()){e.label.show();e.labelWidth=e.label.width();e.labelHeight=e.label.height()}}}else{e.unhighlight(k,j);e.label.hide();jQuery(g.container).trigger("regionMouseOut.jqvmap",[k,f.paths[k].name])}});jQuery(g.container).delegate(this.canvas.mode==="svg"?"path":"shape","click",function(i){var m=i.target;var k=i.target.id.split("_").pop();var j=jQuery.Event("regionClick.jqvmap");k=k.toLowerCase();jQuery(g.container).trigger(j,[k,f.paths[k].name]);if(!g.multiSelectRegion&&!j.isDefaultPrevented()){for(var l in f.paths){e.countries[l].currentFillColor=e.countries[l].getOriginalFill();e.countries[l].setFill(e.countries[l].getOriginalFill())}}if(!j.isDefaultPrevented()){if(e.isSelected(k)){e.deselect(k,m)}else{e.select(k,m)}}});if(g.showTooltip){g.container.mousemove(function(k){if(e.label.is(":visible")){var j=k.pageX-15-e.labelWidth;var i=k.pageY-15-e.labelHeight;if(j<0){j=k.pageX+15}if(i<0){i=k.pageY+15}e.label.css({left:j,top:i})}})}this.setColors(g.colors);this.canvas.canvas.appendChild(this.rootGroup);this.applyTransform();this.colorScale=new ColorScale(g.scaleColors,g.normalizeFunction,g.valueMin,g.valueMax);if(g.values){this.values=g.values;this.setValues(g.values)}if(g.selectedRegions){if(g.selectedRegions instanceof Array){for(var a in g.selectedRegions){this.select(g.selectedRegions[a].toLowerCase())}}else{this.select(g.selectedRegions.toLowerCase())}}this.bindZoomButtons();if(g.pins){h={pins:g.pins,mode:g.pinMode};this.pinHandlers=false;this.placePins(g.pins,g.pinMode)}if(g.showLabels){this.pinHandlers=false;var c={};for(b in e.countries){if(typeof e.countries[b]!=="function"){if(!g.pins||!g.pins[b]){c[b]=b.toUpperCase()}}}h={pins:c,mode:"content"};this.placePins(c,"content")}JQVMap.mapIndex++};JQVMap.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,countries:{},countriesColors:{},countriesData:{},zoomStep:1.4,zoomMaxStep:4,zoomCurStep:1};JQVMap.xlink="http://www.w3.org/1999/xlink";JQVMap.mapIndex=1;JQVMap.maps={};(function(){var b={colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,enableZoom:1,showTooltip:1,borderColor:1,borderWidth:1,borderOpacity:1,selectedRegions:1,multiSelectRegion:1};var a={onLabelShow:"labelShow",onLoad:"load",onRegionOver:"regionMouseOver",onRegionOut:"regionMouseOut",onRegionClick:"regionClick",onRegionSelect:"regionSelect",onRegionDeselect:"regionDeselect",onResize:"resize"};jQuery.fn.vectorMap=function(c){var f={map:"world_en",backgroundColor:"#a5bfdd",color:"#f4f3f0",hoverColor:"#c9dfaf",hoverColors:{},selectedColor:"#c9dfaf",scaleColors:["#b6d6ff","#005ace"],normalizeFunction:"linear",enableZoom:true,showTooltip:true,borderColor:"#818181",borderWidth:1,borderOpacity:0.25,selectedRegions:null,multiSelectRegion:false},h=this.data("mapObject");if(c==="addMap"){JQVMap.maps[arguments[1]]=arguments[2]}else{if(c==="set"&&b[arguments[1]]){h["set"+arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1)].apply(h,Array.prototype.slice.call(arguments,2))}else{if(typeof c==="string"&&typeof h[c]==="function"){return h[c].apply(h,Array.prototype.slice.call(arguments,1))}else{jQuery.extend(f,c);f.container=this;this.css({position:"relative",overflow:"hidden"});h=new JQVMap(f);this.data("mapObject",h);this.unbind(".jqvmap");for(var g in a){if(f[g]){this.bind(a[g]+".jqvmap",f[g])}}var d=jQuery.Event("load.jqvmap");jQuery(f.container).trigger(d,h);return h}}}}})(jQuery);ColorScale.arrayToRgb=function(a){var b="#";var e;for(var c=0;c=0){e-=h[d];d++}var b;if(d===this.colors.length-1){b=this.vectorToNum(this.colors[d]).toString(16)}else{b=(this.vectorToNum(this.vectorAdd(this.colors[d],this.vectorMult(this.vectorSubtract(this.colors[d+1],this.colors[d]),(e)/(h[d]))))).toString(16)}while(b.length<6){b="0"+b}return"#"+b};ColorScale.rgbToArray=function(a){a=a.substr(1);return[parseInt(a.substr(0,2),16),parseInt(a.substr(2,2),16),parseInt(a.substr(4,2),16)]};ColorScale.prototype.setColors=function(a){for(var b=0;bb){this.transY=b}else{if(this.transYc){this.transX=c}else{if(this.transX=0};JQVMap.prototype.makeDraggable=function(){var c=false;var e,d;var k=this;k.isMoving=false;k.isMovingTimeout=false;var f;var h;var g;var b;var a;var j;var i;this.container.mousemove(function(l){if(c){k.transX-=(e-l.pageX)/k.scale;k.transY-=(d-l.pageY)/k.scale;k.applyTransform();e=l.pageX;d=l.pageY;k.isMoving=true;if(k.isMovingTimeout){clearTimeout(k.isMovingTimeout)}k.container.trigger("drag")}return false}).mousedown(function(l){c=true;e=l.pageX;d=l.pageY;return false}).mouseup(function(){c=false;clearTimeout(k.isMovingTimeout);k.isMovingTimeout=setTimeout(function(){k.isMoving=false},100);return false}).mouseout(function(){if(c&&k.isMoving){clearTimeout(k.isMovingTimeout);k.isMovingTimeout=setTimeout(function(){c=false;k.isMoving=false},100);return false}});jQuery(this.container).bind("touchmove",function(n){var q;var p;var m=n.originalEvent.touches;var l;var o;if(m.length===1){if(f===1){if(j===m[0].pageX&&i===m[0].pageY){return}l=k.transX;o=k.transY;k.transX-=(j-m[0].pageX)/k.scale;k.transY-=(i-m[0].pageY)/k.scale;k.applyTransform();if(l!==k.transX||o!==k.transY){n.preventDefault()}k.isMoving=true;if(k.isMovingTimeout){clearTimeout(k.isMovingTimeout)}}j=m[0].pageX;i=m[0].pageY}else{if(m.length===2){if(f===2){p=Math.sqrt(Math.pow(m[0].pageX-m[1].pageX,2)+Math.pow(m[0].pageY-m[1].pageY,2))/b;k.setScale(a*p,h,g);n.preventDefault()}else{q=jQuery(k.container).offset();if(m[0].pageX>m[1].pageX){h=m[1].pageX+(m[0].pageX-m[1].pageX)/2}else{h=m[0].pageX+(m[1].pageX-m[0].pageX)/2}if(m[0].pageY>m[1].pageY){g=m[1].pageY+(m[0].pageY-m[1].pageY)/2}else{g=m[0].pageY+(m[1].pageY-m[0].pageY)/2}h-=q.left;g-=q.top;a=k.scale;b=Math.sqrt(Math.pow(m[0].pageX-m[1].pageX,2)+Math.pow(m[0].pageY-m[1].pageY,2))}}}f=m.length});jQuery(this.container).bind("touchstart",function(){f=0});jQuery(this.container).bind("touchend",function(){f=0})};JQVMap.prototype.placePins=function(b,d){var a=this;if(!d||(d!=="content"&&d!=="id")){d="content"}if(d==="content"){jQuery.each(b,function(g,f){if(jQuery("#"+a.getCountryId(g)).length===0){return}var e=a.getPinId(g);var h=jQuery("#"+e);if(h.length>0){h.remove()}a.container.append('
'+f+"
")})}else{jQuery.each(b,function(g,f){if(jQuery("#"+a.getCountryId(g)).length===0){return}var e=a.getPinId(g);var h=jQuery("#"+e);if(h.length>0){h.remove()}a.container.append('
');h.append(jQuery("#"+f))})}this.positionPins();if(!this.pinHandlers){this.pinHandlers=true;var c=function(){a.positionPins()};this.container.bind("zoomIn",c).bind("zoomOut",c).bind("drag",c)}};JQVMap.prototype.positionPins=function(){var b=this;var a=this.container.find(".jqvmap-pin");jQuery.each(a,function(f,k){k=jQuery(k);var h=b.getCountryId(k.attr("for").toLowerCase());var j=jQuery("#"+h);var i=document.getElementById(h).getBBox();var e=j.position();var d=b.scale;var c=e.left+(i.width/2)*d-k.width()/2,g=e.top+(i.height/2)*d-k.height()/2;k.css("left",c).css("top",g)})};JQVMap.prototype.removePin=function(a){a=a.toLowerCase();jQuery("#"+this.getPinId(a)).remove()};JQVMap.prototype.removePins=function(){this.container.find(".jqvmap-pin").remove()};JQVMap.prototype.reset=function(){for(var a in this.countries){this.countries[a].setFill(this.color)}this.scale=this.baseScale;this.transX=this.baseTransX;this.transY=this.baseTransY;this.applyTransform()};JQVMap.prototype.resize=function(){var a=this.baseScale;if(this.width/this.height>this.defaultWidth/this.defaultHeight){this.baseScale=this.height/this.defaultHeight;this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)}else{this.baseScale=this.width/this.defaultWidth;this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)}this.scale*=this.baseScale/a;this.transX*=this.baseScale/a;this.transY*=this.baseScale/a};JQVMap.prototype.select=function(b,a){b=b.toLowerCase();a=a||jQuery("#"+this.getCountryId(b))[0];if(!this.isSelected(b)){if(this.multiSelectRegion){this.selectedRegions.push(b)}else{this.selectedRegions=[b]}jQuery(this.container).trigger("regionSelect.jqvmap",[b]);if(this.selectedColor&&a){a.currentFillColor=this.selectedColor;a.setFill(this.selectedColor)}}};JQVMap.prototype.selectIndex=function(b){b=b.toLowerCase();for(var a=0;aa){a=c[f]}if(e1){b.transX+=(b.width/(b.scale/b.zoomStep)-b.width/b.scale)/2;b.transY+=(b.height/(b.scale/b.zoomStep)-b.height/b.scale)/2;b.setScale(b.scale/b.zoomStep);b.zoomCurStep--;var c=jQuery("#zoomSlider");c.css("top",parseInt(c.css("top"),10)+a);b.container.trigger("zoomOut")}};VectorCanvas.prototype.applyTransformParams=function(c,b,a){if(this.mode==="svg"){this.rootGroup.setAttribute("transform","scale("+c+") translate("+b+", "+a+")")}else{this.rootGroup.coordorigin=(this.width-b)+","+(this.height-a);this.rootGroup.coordsize=this.width/c+","+this.height/c}};VectorCanvas.prototype.createGroup=function(a){var b;if(this.mode==="svg"){b=this.createSvgNode("g")}else{b=this.createVmlNode("group");b.style.width=this.width+"px";b.style.height=this.height+"px";b.style.left="0px";b.style.top="0px";b.coordorigin="0 0";b.coordsize=this.width+" "+this.height}if(a){this.rootGroup=b}return b};VectorCanvas.prototype.createPath=function(a){var b;if(this.mode==="svg"){b=this.createSvgNode("path");b.setAttribute("d",a.path);if(this.params.borderColor!==null){b.setAttribute("stroke",this.params.borderColor)}if(this.params.borderWidth>0){b.setAttribute("stroke-width",this.params.borderWidth);b.setAttribute("stroke-linecap","round");b.setAttribute("stroke-linejoin","round")}if(this.params.borderOpacity>0){b.setAttribute("stroke-opacity",this.params.borderOpacity)}b.setFill=function(e){this.setAttribute("fill",e);if(this.getAttribute("original")===null){this.setAttribute("original",e)}};b.getFill=function(){return this.getAttribute("fill")};b.getOriginalFill=function(){return this.getAttribute("original")};b.setOpacity=function(e){this.setAttribute("fill-opacity",e)}}else{b=this.createVmlNode("shape");b.coordorigin="0 0";b.coordsize=this.width+" "+this.height;b.style.width=this.width+"px";b.style.height=this.height+"px";b.fillcolor=JQVMap.defaultFillColor;b.stroked=false;b.path=VectorCanvas.pathSvgToVml(a.path);var d=this.createVmlNode("skew");d.on=true;d.matrix="0.01,0,0,0.01,0,0";d.offset="0,0";b.appendChild(d);var c=this.createVmlNode("fill");b.appendChild(c);b.setFill=function(e){this.getElementsByTagName("fill")[0].color=e;if(this.getAttribute("original")===null){this.setAttribute("original",e)}};b.getFill=function(){return this.getElementsByTagName("fill")[0].color};b.getOriginalFill=function(){return this.getAttribute("original")};b.setOpacity=function(e){this.getElementsByTagName("fill")[0].opacity=parseInt(e*100,10)+"%"}}return b};VectorCanvas.prototype.pathSvgToVml=function(e){var b="";var a=0,f=0,d,c;return e.replace(/([MmLlHhVvCcSs])((?:-?(?:\d+)?(?:\.\d+)?,?\s?)+)/g,function(k,j,m){m=m.replace(/(\d)-/g,"$1,-").replace(/\s+/g,",").split(",");if(!m[0]){m.shift()}for(var h=0,g=m.length;h/** * Kadence Blocks Pro Helper Functions */ /** * Hex to RGBA * * @param string $hex string hex code. * @param number $alpha alpha number. */ function kadence_blocks_pro_hex2rgba( $hex, $alpha ) { if ( empty( $hex ) ) { return ''; } if ( 'transparent' === $hex ) { return $hex; } $hex = str_replace( '#', '', $hex ); if ( strlen( $hex ) == 3 ) { $r = hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) ); $g = hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) ); $b = hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) ); } else { $r = hexdec( substr( $hex, 0, 2 ) ); $g = hexdec( substr( $hex, 2, 2 ) ); $b = hexdec( substr( $hex, 4, 2 ) ); } $rgba = 'rgba(' . $r . ', ' . $g . ', ' . $b . ', ' . $alpha . ')'; return $rgba; }
Dismiss

Add shipping methods & zones

Shipping is currently enabled, but you have not added any shipping methods to your shipping zones.

Customers will not be able to purchase physical goods from your store until a shipping method is available.

Setup shipping zones Learn more about shipping zones

/*! elementor-pro - v3.35.0 - 02-02-2026 */ (()=>{var e={4047:()=>{},1260:()=>{},9652:()=>{},3762:()=>{},8515:()=>{},734:()=>{},1402:()=>{},5043:()=>{},3040:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Link:()=>V,Location:()=>M,LocationProvider:()=>D,Match:()=>J,Redirect:()=>Y,Router:()=>q,ServerLocation:()=>W,createHistory:()=>x,createMemorySource:()=>T,globalHistory:()=>w,isRedirect:()=>$,matchPath:()=>d,navigate:()=>O,redirectTo:()=>G,useLocation:()=>Q,useMatch:()=>te,useNavigate:()=>X,useParams:()=>ee});var o=n(1594),r=n.n(o),i=n(2091),a=n.n(i),s=n(3070),l=n.n(s);function componentWillMount(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function componentWillReceiveProps(e){this.setState(function updater(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function componentWillUpdate(e,t){try{var n=this.props,o=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,o)}finally{this.props=n,this.state=o}}componentWillMount.__suppressDeprecationWarning=!0,componentWillReceiveProps.__suppressDeprecationWarning=!0,componentWillUpdate.__suppressDeprecationWarning=!0;var u=function startsWith(e,t){return e.substr(0,t.length)===t},c=function pick(e,t){for(var n=void 0,o=void 0,r=t.split("?")[0],i=y(r),s=""===i[0],l=b(e),u=0,c=l.length;ut.score?-1:e.index-t.index}))},y=function segmentize(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")},_=function addQuery(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o0})))&&n.length>0?"?"+n.join("&"):"")},C=["uri","path"],E=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},s=a.state,l=a.replace,u=void 0!==l&&l;if("number"==typeof t)e.history.go(t);else{s=E({},s,{key:Date.now()+""});try{r||u?e.history.replaceState(s,null,t):e.history.pushState(s,null,t)}catch(n){e.location[u?"replace":"assign"](t)}}o=S(e),r=!0;var c=new Promise((function(e){return i=e}));return n.forEach((function(e){return e({location:o,action:"PUSH"})})),c}}},T=function createMemorySource(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",t=e.indexOf("?"),n={pathname:t>-1?e.substr(0,t):e,search:t>-1?e.substr(t):""},o=0,r=[n],i=[null];return{get location(){return r[o]},addEventListener:function addEventListener(e,t){},removeEventListener:function removeEventListener(e,t){},history:{get entries(){return r},get index(){return o},get state(){return i[o]},pushState:function pushState(e,t,n){var a=n.split("?"),s=a[0],l=a[1],u=void 0===l?"":l;o++,r.push({pathname:s,search:u.length?"?"+u:u}),i.push(e)},replaceState:function replaceState(e,t,n){var a=n.split("?"),s=a[0],l=a[1],u=void 0===l?"":l;r[o]={pathname:s,search:u},i[o]=e},go:function go(e){var t=o+e;t<0||t>i.length-1||(o=t)}}}},P=!("undefined"==typeof window||!window.document||!window.document.createElement),w=x(function getSource(){return P?window:T()}()),O=w.navigate,R=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var j=function createNamedContext(e,t){var n=l()(t);return n.displayName=e,n},I=j("Location"),M=function Location(e){var t=e.children;return r().createElement(I.Consumer,null,(function(e){return e?t(e):r().createElement(D,null,t)}))},D=function(e){function LocationProvider(){var t,n;_classCallCheck(this,LocationProvider);for(var o=arguments.length,r=Array(o),i=0;i-1?(i=t.substring(0,o),a=t.substring(o)):i=t,r().createElement(I.Provider,{value:{location:{pathname:i,search:a,hash:""},navigate:function navigate(){throw new Error("You can't call navigate on the server.")}}},n)},A=j("Base",{baseuri:"/",basepath:"/"}),q=function Router(e){return r().createElement(A.Consumer,null,(function(t){return r().createElement(M,null,(function(n){return r().createElement(B,R({},t,n,e))}))}))},B=function(e){function RouterImpl(){return _classCallCheck(this,RouterImpl),_possibleConstructorReturn(this,e.apply(this,arguments))}return _inherits(RouterImpl,e),RouterImpl.prototype.render=function render(){var e=this.props,t=e.location,n=e.navigate,o=e.basepath,i=e.primary,a=e.children,s=(e.baseuri,e.component),l=void 0===s?"div":s,u=_objectWithoutProperties(e,["location","navigate","basepath","primary","children","baseuri","component"]),d=r().Children.toArray(a).reduce((function(e,t){var n=oe(o)(t);return e.concat(n)}),[]),f=t.pathname,m=c(d,f);if(m){var h=m.params,g=m.uri,v=m.route,b=m.route.value;o=v.default?o:v.path.replace(/\*$/,"");var y=R({},h,{uri:g,location:t,navigate:function navigate(e,t){return n(p(e,g),t)}}),_=r().cloneElement(b,y,b.props.children?r().createElement(q,{location:t,primary:i},b.props.children):void 0),C=i?N:l,E=i?R({uri:g,location:t,component:l},u):u;return r().createElement(A.Provider,{value:{baseuri:g,basepath:o}},r().createElement(C,E,_))}return null},RouterImpl}(r().PureComponent);B.defaultProps={primary:!0};var F=j("Focus"),N=function FocusHandler(e){var t=e.uri,n=e.location,o=e.component,i=_objectWithoutProperties(e,["uri","location","component"]);return r().createElement(F.Consumer,null,(function(e){return r().createElement(z,R({},i,{component:o,requestFocus:e,uri:t,location:n}))}))},L=!0,U=0,z=function(e){function FocusHandlerImpl(){var t,n;_classCallCheck(this,FocusHandlerImpl);for(var o=arguments.length,r=Array(o),i=0;i{"use strict";t.__esModule=!0;var o=n(1594),r=(_interopRequireDefault(o),_interopRequireDefault(n(2688))),i=_interopRequireDefault(n(8127));_interopRequireDefault(n(567));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=1073741823;t.default=function createReactContext(e,t){var n,s,l="__create-react-context-"+(0,i.default)()+"__",u=function(e){function Provider(){var t,n;_classCallCheck(this,Provider);for(var o=arguments.length,r=Array(o),i=0;i{"use strict";t.__esModule=!0;var o=_interopRequireDefault(n(1594)),r=_interopRequireDefault(n(6134));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}t.default=o.default.createContext||r.default,e.exports=t.default},4292:(e,t,n)=>{"use strict";var o=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function useFeatureLock(e){const t=elementorAppProConfig[e]??{},n=t.lock?.is_locked??!1,o=(0,a.htmlDecodeTextContent)(t.lock?.button.text),s=(0,a.replaceUtmPlaceholders)(t.lock?.button.url??"",t.utms??{});return{isLocked:n,ConnectButton:()=>r.default.createElement(i.default,{text:o,url:s})}};var r=o(n(1594)),i=o(n(8799)),a=n(40)},8799:(e,t,n)=>{"use strict";var o=n(2688),r=n(2470).__,i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(8304)),s=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(1594)),l=s,u=n(7401),c=n(40);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}const ConnectButton=e=>{const t=(0,c.arrayToClassName)(["e-app-connect-button",e.className]),n=(0,s.useRef)(null);return(0,s.useEffect)((()=>{n.current&&jQuery(n.current).elementorConnect()}),[]),l.createElement(u.Button,(0,a.default)({},e,{elRef:n,className:t}))};ConnectButton.propTypes={...u.Button.propTypes,text:o.string.isRequired,url:o.string.isRequired,className:o.string},ConnectButton.defaultProps={className:"",variant:"contained",size:"sm",color:"cta",target:"_blank",rel:"noopener noreferrer",text:r("Connect & Activate","elementor-pro")};t.default=l.memo(ConnectButton)},40:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceUtmPlaceholders=t.htmlDecodeTextContent=t.arrayToClassName=void 0;t.arrayToClassName=(e,t)=>e.filter((e=>"object"==typeof e?Object.entries(e)[0][1]:e)).map((e=>{const n="object"==typeof e?Object.entries(e)[0][0]:e;return t?t(n):n})).join(" ");t.htmlDecodeTextContent=e=>(new DOMParser).parseFromString(e,"text/html").documentElement.textContent;t.replaceUtmPlaceholders=(e="",t={})=>e&&t?(Object.keys(t).forEach((n=>{const o=new RegExp(`%%${n}%%`,"g");e=e.replace(o,t[n])})),e):e},9128:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ListSettingSection=ListSettingSection;var o=_interopRequireWildcard(n(1594)),r=n(2470),i=n(6956),a=_interopRequireWildcard(n(2688)),s=n(40),l=n(3101);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}const u=16;function ListSettingSection({items:e,title:t,loading:n,settings:a,onSettingChange:c,settingKey:d,disabled:p=!1,tooltip:f=!1}){const[m,h]=(0,o.useState)(!1);return o.default.createElement(i.Box,{key:d,sx:{mb:3,border:1,borderRadius:1,borderColor:"action.focus",p:2.5}},o.default.createElement(i.Stack,{spacing:2},o.default.createElement(i.Typography,{variant:"h6"},t),o.default.createElement(i.Grid,{container:!0,spacing:1,alignItems:"start"},n?o.default.createElement(i.Grid,{item:!0,xs:12,sx:{p:1,alignItems:"center",textAlign:"center"}},o.default.createElement(i.CircularProgress,{size:30})):o.default.createElement(o.default.Fragment,null,o.default.createElement(i.Grid,{key:"all",item:!0,xs:12,sx:{py:1,px:0}},o.default.createElement(l.UpgradeTooltip,{disabled:p&&a.length===e.length,tooltip:f},o.default.createElement(i.Box,{sx:{pointerEvents:"auto",...a.length===e.length&&p&&{cursor:"pointer"}}},o.default.createElement(i.FormControlLabel,{control:o.default.createElement(i.Checkbox,{color:"info",checked:a.length===e.length,indeterminate:a.length>0&&a.length!==e.length,onChange:(t,n)=>{c(n?e.map((({value:e})=>e)):[],!0)},sx:{p:0},disabled:p}),sx:{gap:1,...a.length===e.length&&p&&{cursor:"pointer"}},slotProps:{typography:{sx:{fontWeight:500,...a.length===e.length&&p&&{cursor:"pointer"}}}},label:`${(0,r.__)("All","elementor-pro")} ${t.toLowerCase()}`})))),(m?e:e.slice(0,u)).map((e=>o.default.createElement(i.Grid,{key:e.value,item:!0,xs:3,sx:{py:1,px:0}},o.default.createElement(l.UpgradeTooltip,{disabled:p&&a.includes(e.value),tooltip:f},o.default.createElement(i.Box,{sx:{pointerEvents:"auto",...a.includes(e.value)&&p&&{cursor:"pointer"}}},o.default.createElement(i.FormControlLabel,{control:o.default.createElement(i.Checkbox,{color:"info",checked:a.includes(e.value),onChange:(t,n)=>{c(n?[...a,e.value]:a.filter((t=>t!==e.value)))},sx:{p:0,...a.includes(e.value)&&p&&{cursor:"pointer"}},disabled:p}),sx:{maxWidth:"100%",gap:1,...a.includes(e.value)&&p&&{cursor:"pointer"}},slotProps:{typography:{sx:{fontWeight:400,maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",...a.includes(e.value)&&p&&{cursor:"pointer"}}}},label:(0,s.htmlDecodeTextContent)(e.label)}))))))))),e.length>u&&o.default.createElement(i.Button,{variant:"text",color:"info",onClick:()=>h(!m)},m?(0,r.__)("Show less","elementor"):(0,r.__)("Show more","elementor")))}ListSettingSection.propTypes={title:a.string.isRequired,children:a.node,loading:a.bool,disabled:a.bool,checked:a.bool,settingKey:a.string,onSettingChange:a.func.isRequired,tooltip:a.bool,items:a.arrayOf(a.shape({label:a.string.isRequired,value:a.oneOfType([a.string,a.number])})),settings:a.arrayOf(a.oneOfType([a.string,a.number]))}},493:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.SettingSection=void 0;var i=r(n(1594)),a=n(6956),s=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(2688)),l=n(3101);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}const SettingSection=({checked:e=!1,title:t,description:n,children:r,settingKey:s,onSettingChange:u,hasToggle:c=!0,disabled:d=!1,notExported:p=!1,tooltip:f=!1})=>i.default.createElement(a.Box,{key:s,sx:{mb:3,border:1,borderRadius:1,borderColor:"action.focus",p:2.5}},i.default.createElement(a.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"}},i.default.createElement(a.Stack,{spacing:1},i.default.createElement(a.Typography,{variant:"h6"},t),n&&i.default.createElement(a.Typography,{"data-testid":`${s}-description`,variant:"body1",color:"text.secondary"},n)),(()=>{if(p)return i.default.createElement(a.Typography,{"data-testid":`${s}-description`,variant:"body1",color:"text.secondary"},o("Not exported","elementor"));if(!c)return null;const t=i.default.createElement(a.Switch,{"data-testid":`${s}-switch`,checked:e,onChange:(e,t)=>u&&u(s,t),color:"info",size:"medium",sx:{alignSelf:"center",...d&&f&&{cursor:"pointer"}},disabled:d});return i.default.createElement(l.UpgradeTooltip,{disabled:d,tooltip:f},t)})()),r&&i.default.createElement(a.Box,{sx:{mt:1}},r));t.SettingSection=SettingSection,SettingSection.propTypes={title:s.string.isRequired,description:s.string,children:s.node,hasToggle:s.bool,checked:s.bool,disabled:s.bool,settingKey:s.string,onSettingChange:s.func,notExported:s.bool,tooltip:s.bool}},9460:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.SubSetting=void 0;var i=r(n(1594)),a=n(6956),s=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(2688)),l=n(3101);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}const SubSetting=({label:e,settingKey:t,onSettingChange:n,checked:r=!1,disabled:s=!1,notExported:u=!1,tooltip:c=!1})=>i.default.createElement(a.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"}},i.default.createElement(a.Typography,{"data-testid":`${t}-label`,variant:"body1"},e),(()=>{if(u)return i.default.createElement(a.Typography,{"data-testid":`${t}-description`,variant:"body1",color:"text.secondary",sx:{fontWeight:400,alignSelf:"center"}},o("Not exported","elementor"));const e=i.default.createElement(a.Switch,{"data-testid":`${t}-switch`,checked:r,disabled:s,onChange:(e,o)=>n&&n(t,o),color:"info",size:"medium",sx:{alignSelf:"center",...s&&c&&{cursor:"pointer"}}});return i.default.createElement(l.UpgradeTooltip,{disabled:s,tooltip:c},e)})());t.SubSetting=SubSetting,SubSetting.propTypes={checked:s.bool,disabled:s.bool,notExported:s.bool,label:s.string.isRequired,settingKey:s.string.isRequired,onSettingChange:s.func,tooltip:s.bool}},8856:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KitContentCustomizationDialog=KitContentCustomizationDialog;var o=_interopRequireWildcard(n(1594)),r=_interopRequireWildcard(n(2688)),i=n(6956),a=n(2470),s=n(344),l=n(9128),u=n(493),c=n(9460),d=n(6919),p=n(7050),f=n(2771),m=n(6662),h=n(8551),g=n(225),v=n(5533);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}const b={LINK:"link",CLOUD:"cloud"},y=[{value:b.LINK,title:(0,a.__)("Link to media","elementor-pro"),description:(0,a.__)("Stores only the URLs. The export stays light, but files load only while the original site is online.","elementor-pro")},{value:b.CLOUD,title:(0,a.__)("Save media to the cloud","elementor-pro"),description:(0,a.__)("All images and files are stored with the template. Keeps everything intact, but the file is larger.","elementor-pro")}],transformAnalyticsData=(e,t,n,o)=>{const r=[{key:"pages",options:t},{key:"taxonomies",options:n},{key:"customPostTypes",options:o}],i={};for(const[t,n]of Object.entries(e))i[t]=(0,v.transformValueForAnalytics)(t,n,r);return i};function KitContentCustomizationDialog({open:e,handleClose:t,handleSaveChanges:n,data:r,isImport:v,isOldExport:_,isOldElementorVersion:C,isCloudKitsEligible:E=!1,showMediaFormatValidation:S=!1}){const x=r.includes.includes("content"),{isLoading:T,pageOptions:P,isLoaded:w}=(0,p.useKitCustomizationPages)({open:e,data:r}),{isLoading:O,taxonomyOptions:R,isLoaded:j}=(0,f.useKitCustomizationTaxonomies)({open:e,data:r}),{customPostTypes:I}=(0,m.useKitCustomizationCustomPostTypes)({data:r}),M=(0,o.useRef)(null),D=(0,o.useRef)(null),[W,A]=(0,o.useState)((()=>r.customization.content?r.customization.content:{pages:[],menus:x,taxonomies:[],customPostTypes:[],mediaFormat:b.LINK}));(0,o.useEffect)((()=>{e&&!r.includes.includes("content")&&A({pages:[],menus:!1,taxonomies:[],customPostTypes:[],mediaFormat:b.LINK})}),[e,r.includes]),(0,o.useEffect)((()=>{e&&r.includes.includes("content")&&A((e=>({...e,pages:w||v?r.customization.content?.pages||P.map((({value:e})=>e)):e.pages})))}),[e,r.includes,r.customization.content?.pages,w,v,P]),(0,o.useEffect)((()=>{e&&r.includes.includes("content")&&A((e=>({...e,taxonomies:j||v?r.customization.content?.taxonomies||R.map((({value:e})=>e)):e.taxonomies})))}),[e,r.includes,r.customization.content?.taxonomies,j,v,R]),(0,o.useEffect)((()=>{e&&r.includes.includes("content")&&A((e=>({...e,customPostTypes:I?r.customization.content?.customPostTypes||I.map((({value:e})=>e)):e.customPostTypes})))}),[e,r.includes,r.customization.content?.customPostTypes,I]),(0,o.useEffect)((()=>{e&&r.includes.includes("content")&&A((e=>({...e,menus:v?r.customization.content?.menus||Object.keys(r?.uploadedData?.manifest["wp-content"]?.nav_menu_item||{}).length>0:r.customization.content?.menus??x})))}),[e,r.includes,r.customization.content?.menus,r.uploadedData?.manifest,v]),(0,o.useEffect)((()=>{e&&r.includes.includes("content")&&A((e=>({...e,mediaFormat:r.customization.content?.mediaFormat||b.LINK})))}),[e,r.includes,r.customization.content?.mediaFormat]),(0,o.useEffect)((()=>{e&&window.elementorModules?.appsEventTracking?.AppsEventTracking?.sendPageViewsWebsiteTemplates(elementorCommon.eventsManager.config.secondaryLocations.kitLibrary.kitExportCustomizationEdit)}),[e]),(0,o.useEffect)((()=>{S&&setTimeout((()=>{const e=M.current||D.current;e&&e.scrollIntoView({behavior:"smooth",block:"center"})}))}),[S]);const handleSettingsChange=(e,t)=>{A((n=>({...n,[e]:t})))};return o.default.createElement(s.KitCustomizationDialog,{open:e,title:(0,a.__)("Edit content","elementor-pro"),handleClose:t,handleSaveChanges:()=>{const e=W.pages.length>0||W.menus||W.customPostTypes.length>0||W.taxonomies.length>0||W.mediaFormat!==b.LINK,t=transformAnalyticsData(W,P,R,I);n("content",W,e,t)}},o.default.createElement(i.Stack,{sx:{position:"relative"},gap:2},C&&o.default.createElement(g.UpgradeVersionBanner,null),o.default.createElement(i.Stack,null,v&&_?null:v&&!(()=>{const e=r?.uploadedData?.manifest?.content,t=r?.uploadedData?.manifest?.["wp-content"],n=Object.keys(e?.page||{})?.length,o=Object.keys(t?.page||{})?.length;return Boolean(n||o)})()?o.default.createElement(u.SettingSection,{title:(0,a.__)("Site pages","elementor-pro"),settingKey:"pages",notExported:!0}):o.default.createElement(l.ListSettingSection,{settingKey:"pages",title:(0,a.__)("Site pages","elementor-pro"),onSettingChange:e=>{handleSettingsChange("pages",e)},settings:W.pages,items:P,loading:T,disabled:!(0,h.isHighTier)(),tooltip:!(0,h.isHighTier)()}),!v||v&&I?.length>0?o.default.createElement(l.ListSettingSection,{settingKey:"customPostTypes",title:(0,a.__)("Custom post types","elementor-pro"),onSettingChange:e=>{handleSettingsChange("customPostTypes",e)},settings:W.customPostTypes,items:I,disabled:v&&void 0===r?.uploadedData?.manifest["custom-post-type-title"]||!(0,h.isHighTier)(),tooltip:!(0,h.isHighTier)()}):o.default.createElement(u.SettingSection,{title:(0,a.__)("Custom post types","elementor-pro"),settingKey:"customPostTypes",notExported:!0}),v?o.default.createElement(u.SettingSection,{title:(0,a.__)("Media format","elementor-pro"),settingKey:"mediaFormat",hasToggle:!1},o.default.createElement(i.Alert,{icon:o.default.createElement(i.SvgIcon,{color:"info",viewBox:"0 0 24 24"},o.default.createElement("path",{d:"M11.8623 14.7549C12.3665 14.8061 12.7598 15.2322 12.7598 15.75C12.7598 16.2678 12.3665 16.6939 11.8623 16.7451L11.7598 16.75H11.75C11.1977 16.75 10.75 16.3023 10.75 15.75C10.75 15.1977 11.1977 14.75 11.75 14.75H11.7598L11.8623 14.7549Z",fill:"currentColor"}),o.default.createElement("path",{d:"M11.75 7C12.1642 7 12.5 7.33579 12.5 7.75V12.75C12.5 13.1642 12.1642 13.5 11.75 13.5C11.3358 13.5 11 13.1642 11 12.75V7.75C11 7.33579 11.3358 7 11.75 7Z",fill:"currentColor"}),o.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.75 2C17.1348 2 21.5 6.36522 21.5 11.75C21.5 17.1348 17.1348 21.5 11.75 21.5C6.36522 21.5 2 17.1348 2 11.75C2 6.36522 6.36522 2 11.75 2ZM11.75 3.5C7.19365 3.5 3.5 7.19365 3.5 11.75C3.5 16.3063 7.19365 20 11.75 20C16.3063 20 20 16.3063 20 11.75C20 7.19365 16.3063 3.5 11.75 3.5Z",fill:"currentColor"})),sx:{backgroundColor:"transparent",p:0}},o.default.createElement(i.Typography,{variant:"body2",color:"text.primary"},o.default.createElement("strong",null,(0,a.__)("Note:","elementor-pro"))," ",(0,a.__)("The media will be uploaded automatically, just as it was saved during export","elementor-pro")))):v||E?o.default.createElement(u.SettingSection,{ref:D,description:(0,a.__)("Select how do you want to save & export the media files.","elementor-pro"),title:(0,a.__)("Media format","elementor-pro"),settingKey:"mediaFormat",hasToggle:!1,disabled:!(0,h.isHighTier)(),tooltip:!(0,h.isHighTier)()},o.default.createElement(i.Box,{sx:{pt:2.5}},o.default.createElement(i.FormControl,{component:"fieldset",disabled:!(0,h.isHighTier)(),sx:{width:"100%"}},o.default.createElement(i.RadioGroup,{value:W.mediaFormat,onChange:e=>{handleSettingsChange("mediaFormat",e.target.value)},sx:{width:"100%"}},y.map(((e,t)=>o.default.createElement(i.Box,{key:e.value,sx:{border:1,borderColor:W.mediaFormat===e.value?"info.light":"divider",borderRadius:2,p:1,mb:t0||I?.find((e=>e.value.includes("nav_menu"))))||!(0,h.isHighTier)(),title:(0,a.__)("Menus","elementor-pro"),settingKey:"menus",tooltip:!(0,h.isHighTier)(),onSettingChange:(e,t)=>{handleSettingsChange(e,t)}}),v&&_?null:o.default.createElement(u.SettingSection,{description:(0,a.__)("Group your content by type, topic, or any structure you choose.","elementor-pro"),title:(0,a.__)("Taxonomies","elementor-pro"),settingKey:"taxonomies",notExported:v&&!(v&&R?.length>0),hasToggle:!1},O?o.default.createElement(i.Box,{sx:{p:1,alignItems:"center",textAlign:"center"}},o.default.createElement(i.CircularProgress,{size:30})):R.map((e=>o.default.createElement(c.SubSetting,{key:e.value,label:e.label,settingKey:`taxonomies_${e.value}`,checked:W.taxonomies.includes(e.value),disabled:!(0,h.isHighTier)(),tooltip:!(0,h.isHighTier)(),onSettingChange:(t,n)=>{A((t=>{const o=n?[...t.taxonomies,e.value]:t.taxonomies.filter((t=>t!==e.value));return{...t,taxonomies:o}}))}}))))),o.default.createElement(d.UpgradeNoticeBanner,null)))}KitContentCustomizationDialog.propTypes={open:r.bool.isRequired,isImport:r.bool,isOldExport:r.bool,isOldElementorVersion:r.bool,handleClose:r.func.isRequired,handleSaveChanges:r.func.isRequired,data:r.object.isRequired,isCloudKitsEligible:r.bool,showMediaFormatValidation:r.bool}},344:(e,t,n)=>{"use strict";var o=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.KitCustomizationDialog=KitCustomizationDialog;var r=o(n(1594)),i=n(6956),a=n(2470),s=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(2688));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function KitCustomizationDialog({open:e,title:t,handleClose:n,handleSaveChanges:o,children:s,saveDisabled:l=!1}){return r.default.createElement(i.Dialog,{open:e,onClose:n,maxWidth:"md",fullWidth:!0},r.default.createElement(i.DialogHeader,{onClose:n},r.default.createElement(i.DialogTitle,null,t)),r.default.createElement(i.DialogContent,{dividers:!0,sx:{pt:3,px:3,pb:0}},s),r.default.createElement(i.DialogActions,null,r.default.createElement(i.Button,{onClick:n,color:"secondary"},(0,a.__)("Cancel","elementor")),r.default.createElement(i.Button,{disabled:l,onClick:()=>{o(),n()},variant:"contained",color:"primary"},(0,a.__)("Save changes","elementor"))))}KitCustomizationDialog.propTypes={open:s.bool.isRequired,handleClose:s.func.isRequired,handleSaveChanges:s.func.isRequired,children:s.node.isRequired,title:s.string.isRequired,saveDisabled:s.bool}},8706:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KitSettingsCustomizationDialog=KitSettingsCustomizationDialog;var o=_interopRequireWildcard(n(1594)),r=n(6956),i=n(2470),a=_interopRequireWildcard(n(2688)),s=n(493),l=n(9460),u=n(344),c=n(6919),d=n(8551),p=n(225),f=n(5533);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}const transformAnalyticsData=e=>{const t={};for(const[n,o]of Object.entries(e))t[n]=(0,f.transformValueForAnalytics)(n,o,[]);return t};function KitSettingsCustomizationDialog({open:e,handleClose:t,handleSaveChanges:n,data:a,isImport:f,isOldExport:m,isOldElementorVersion:h}){const g=(0,o.useCallback)((e=>{if(!a.includes.includes("settings"))return{theme:e,globalColors:e,globalFonts:e,themeStyleSettings:e,generalSettings:e,experiments:e,customFonts:e,customIcons:e,customCode:e};if(f){const t=a?.uploadedData?.manifest?.["site-settings"];let n=!1;return n=m?!!e&&a?.uploadedData?.manifest?.theme:t?.theme??e,{theme:n,globalColors:!!m||(t?.globalColors??e),globalFonts:!!m||(t?.globalFonts??e),themeStyleSettings:!!m||(t?.themeStyleSettings??e),generalSettings:!!m||(t?.generalSettings??e),experiments:!!m||(t?.experiments??e),customFonts:!!m||(t?.customFonts??e),customIcons:!!m||(t?.customIcons??e),customCode:!!m||(t?.customCode??e)}}const t=a?.customization?.settings;return{theme:t?.theme??e,globalColors:t?.globalColors??e,globalFonts:t?.globalFonts??e,themeStyleSettings:t?.themeStyleSettings??e,generalSettings:t?.generalSettings??e,experiments:t?.experiments??e,customFonts:t?.customFonts??e,customIcons:t?.customIcons??e,customCode:t?.customCode??e}}),[a.includes,a?.uploadedData?.manifest,a?.customization?.settings,f,m]),v=a.includes.includes("settings"),[b,y]=(0,o.useState)((()=>a.customization.settings?a.customization.settings:g(v)));(0,o.useEffect)((()=>{if(e)if(a.customization.settings)y(a.customization.settings);else{const e=g(v);y(e)}}),[e,a.customization.settings,a?.uploadedData,v,g]),(0,o.useEffect)((()=>{e&&window.elementorModules?.appsEventTracking?.AppsEventTracking?.sendPageViewsWebsiteTemplates(elementorCommon.eventsManager.config.secondaryLocations.kitLibrary.kitExportCustomizationEdit)}),[e]);const handleToggleChange=e=>{y((t=>({...t,[e]:!t[e]})))};return o.default.createElement(u.KitCustomizationDialog,{open:e,title:(0,i.__)("Edit settings & configurations","elementor"),handleClose:t,handleSaveChanges:()=>{const e=b.theme||b.globalColors||b.globalFonts||b.themeStyleSettings||b.generalSettings||b.experiments||b.customFonts||b.customIcons||b.customCode,t=transformAnalyticsData(b);n("settings",b,e,t)}},o.default.createElement(r.Stack,{sx:{position:"relative"},gap:2},h&&o.default.createElement(p.UpgradeVersionBanner,null),o.default.createElement(r.Stack,null,o.default.createElement(s.SettingSection,{checked:b.theme,title:(0,i.__)("Theme","elementor"),description:(0,i.__)("Only public WordPress themes are supported","elementor"),settingKey:"theme",onSettingChange:handleToggleChange,notExported:f&&!a?.uploadedData?.manifest.theme}),!m&&o.default.createElement(o.default.Fragment,null,o.default.createElement(s.SettingSection,{title:(0,i.__)("Site settings","elementor"),hasToggle:!1},o.default.createElement(r.Stack,null,o.default.createElement(l.SubSetting,{label:(0,i.__)("Global colors","elementor"),settingKey:"globalColors",onSettingChange:handleToggleChange,checked:b.globalColors,disabled:f&&!a?.uploadedData?.manifest?.["site-settings"]?.globalColors||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)()}),o.default.createElement(l.SubSetting,{label:(0,i.__)("Global fonts","elementor"),settingKey:"globalFonts",onSettingChange:handleToggleChange,checked:b.globalFonts,disabled:f&&!a?.uploadedData?.manifest?.["site-settings"]?.globalFonts||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)()}),o.default.createElement(l.SubSetting,{label:(0,i.__)("Theme style settings","elementor"),settingKey:"themeStyleSettings",onSettingChange:handleToggleChange,checked:b.themeStyleSettings,disabled:f&&!a?.uploadedData?.manifest?.["site-settings"]?.themeStyleSettings||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)()}))),o.default.createElement(s.SettingSection,{checked:b.generalSettings,title:(0,i.__)("Settings","elementor"),description:(0,i.__)("Include site identity, background, layout, Lightbox, page transitions, and custom CSS","elementor"),settingKey:"generalSettings",onSettingChange:handleToggleChange,disabled:f&&!a?.uploadedData?.manifest?.["site-settings"]?.generalSettings||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)()}),o.default.createElement(s.SettingSection,{checked:b.experiments,title:(0,i.__)("Experiments","elementor"),description:(0,i.__)("This will apply all experiments that are still active during import","elementor"),settingKey:"experiments",onSettingChange:handleToggleChange,disabled:f&&!a?.uploadedData?.manifest?.experiments||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)()}),o.default.createElement(s.SettingSection,{title:(0,i.__)("Custom files","elementor"),hasToggle:!1},o.default.createElement(r.Stack,null,o.default.createElement(l.SubSetting,{label:(0,i.__)("Custom fonts","elementor"),settingKey:"customFonts",onSettingChange:handleToggleChange,checked:b.customFonts,disabled:f&&!a?.uploadedData?.manifest?.["custom-fonts"]||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)(),notExported:f&&!a?.uploadedData?.manifest?.["custom-fonts"]}),o.default.createElement(l.SubSetting,{label:(0,i.__)("Custom icons","elementor"),settingKey:"customIcons",onSettingChange:handleToggleChange,checked:b.customIcons,disabled:f&&!a?.uploadedData?.manifest?.["custom-icons"]||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)(),notExported:f&&!a?.uploadedData?.manifest?.["custom-icons"]}),o.default.createElement(l.SubSetting,{label:(0,i.__)("Custom code","elementor"),settingKey:"customCode",onSettingChange:handleToggleChange,checked:b.customCode,disabled:f&&!a?.uploadedData?.manifest?.["custom-code"]||!(0,d.isHighTier)(),tooltip:!(0,d.isHighTier)(),notExported:f&&!a?.uploadedData?.manifest?.["custom-code"]}))))),o.default.createElement(c.UpgradeNoticeBanner,null)))}KitSettingsCustomizationDialog.propTypes={open:a.bool.isRequired,isImport:a.bool,isOldExport:a.bool,isOldElementorVersion:a.bool,handleClose:a.func.isRequired,handleSaveChanges:a.func.isRequired,data:a.object.isRequired}},7450:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KitTemplatesCustomizationDialog=KitTemplatesCustomizationDialog,t.hasTemplatesForExportGroup=void 0;var o=_interopRequireWildcard(n(1594)),r=n(6956),i=n(2470),a=_interopRequireWildcard(n(2688)),s=n(493),l=n(344),u=n(6919),c=n(8551),d=n(4920),p=n(225),f=n(5533);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}const transformAnalyticsData=e=>{const t={};for(const[n,o]of Object.entries(e))t[n]=(0,f.transformValueForAnalytics)(n,o,[]);return t},hasTemplatesForExportGroup=(e,t)=>{if(!t?.templates)return!1;const n=elementorAppConfig?.["import-export-customization"]?.exportGroups||{};return Object.values(t.templates).some((t=>{if(!t||"object"!=typeof t||!t.doc_type)return!1;return n[t.doc_type]===e}))};function KitTemplatesCustomizationDialog({open:e,handleClose:t,handleSaveChanges:n,data:a,isImport:f,isOldExport:m,isOldElementorVersion:h}){const g=a.includes.includes("templates"),v=(0,o.useCallback)((e=>a.includes.includes("templates")?f?{siteTemplates:{enabled:!(!f||!m)||(hasTemplatesForExportGroup("site-templates",a?.uploadedData?.manifest)??e)},themeBuilder:{enabled:!(!f||!m)||(hasTemplatesForExportGroup("theme-builder",a?.uploadedData?.manifest)??e)},globalWidgets:{enabled:!(!f||!m)||(hasTemplatesForExportGroup("global-widget",a?.uploadedData?.manifest)??e)}}:{siteTemplates:{enabled:a?.customization?.templates?.siteTemplates?.enabled??e},themeBuilder:{enabled:a?.customization?.templates?.themeBuilder?.enabled??e},globalWidgets:{enabled:a?.customization?.templates?.globalWidgets?.enabled??e}}:{siteTemplates:{enabled:e},themeBuilder:{enabled:e},globalWidgets:{enabled:e}}),[a.includes,a?.uploadedData?.manifest,a?.customization?.templates,f,m]),[b,y]=(0,o.useState)({});(0,o.useEffect)((()=>{if(e)if(a.customization.templates)y(a.customization.templates);else{const e=v(g);y(e)}}),[e,a.customization.templates,a?.uploadedData,g,v]),(0,o.useEffect)((()=>{e&&elementorModules?.appsEventTracking?.AppsEventTracking?.sendPageViewsWebsiteTemplates(elementorCommon.eventsManager.config.secondaryLocations.kitLibrary.kitExportCustomizationEdit)}),[e]);const handleToggleChange=(e,t)=>{y((n=>({...n,[e]:{...n[e],enabled:t}})))};return o.default.createElement(l.KitCustomizationDialog,{open:e,title:(0,i.__)("Edit templates","elementor"),handleClose:t,handleSaveChanges:()=>{const e=b.siteTemplates?.enabled||b.themeBuilder?.enabled||b.globalWidgets?.enabled,t=transformAnalyticsData(b);n("templates",b,e,t)},minHeight:"auto"},o.default.createElement(r.Stack,{sx:{position:"relative"},gap:2},h&&o.default.createElement(p.UpgradeVersionBanner,null),o.default.createElement(r.Stack,null,!m&&o.default.createElement(s.SettingSection,{checked:b.siteTemplates?.enabled||!1,title:(0,i.__)("Site Templates","elementor"),settingKey:"siteTemplates",onSettingChange:handleToggleChange,disabled:!(0,c.isHighTier)()||f&&!hasTemplatesForExportGroup("site-templates",a?.uploadedData?.manifest),tooltip:!(0,c.isHighTier)()}),o.default.createElement(d.ThemeBuilderCustomization,{state:b.themeBuilder,settingKey:"themeBuilder",onStateChange:(e,t,n=!1)=>{y((o=>n?{...o,[e]:{...o[e],...t}}:{...o,[e]:t}))},data:a,disabled:!(0,c.isHighTier)()||f&&!hasTemplatesForExportGroup("theme-builder",a?.uploadedData?.manifest),tooltip:!(0,c.isHighTier)()}),!m&&o.default.createElement(s.SettingSection,{checked:b.globalWidgets?.enabled||!1,title:"Global Widgets",settingKey:"globalWidgets",onSettingChange:handleToggleChange,disabled:!(0,c.isHighTier)()||f&&!hasTemplatesForExportGroup("global-widget",a?.uploadedData?.manifest),tooltip:!(0,c.isHighTier)()})),o.default.createElement(u.UpgradeNoticeBanner,null)))}t.hasTemplatesForExportGroup=hasTemplatesForExportGroup,KitTemplatesCustomizationDialog.propTypes={open:a.bool.isRequired,isImport:a.bool,isOldExport:a.bool,isOldElementorVersion:a.bool,handleClose:a.func.isRequired,handleSaveChanges:a.func.isRequired,data:a.object.isRequired}},4920:(e,t,n)=>{"use strict";var o=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.ThemeBuilderCustomization=ThemeBuilderCustomization;var r=_interopRequireWildcard(n(1594)),i=o(n(8304)),a=n(6956),s=n(2470),l=_interopRequireWildcard(n(2688)),u=n(3101);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}const ExternalLinkIcon=e=>r.default.createElement(a.SvgIcon,(0,i.default)({viewBox:"0 0 18 18",sx:{fontSize:16,color:"info.light"}},e),r.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 1C11 0.585786 11.3358 0.25 11.75 0.25H16.75C17.1642 0.25 17.5 0.585786 17.5 1V6C17.5 6.41421 17.1642 6.75 16.75 6.75C16.3358 6.75 16 6.41421 16 6V2.81066L7.28033 11.5303C6.98744 11.8232 6.51256 11.8232 6.21967 11.5303C5.92678 11.2374 5.92678 10.7626 6.21967 10.4697L14.9393 1.75H11.75C11.3358 1.75 11 1.41421 11 1ZM0.805456 4.05546C1.32118 3.53973 2.02065 3.25 2.75 3.25H7.75C8.16421 3.25 8.5 3.58579 8.5 4C8.5 4.41421 8.16421 4.75 7.75 4.75H2.75C2.41848 4.75 2.10054 4.8817 1.86612 5.11612C1.6317 5.35054 1.5 5.66848 1.5 6V15C1.5 15.3315 1.6317 15.6495 1.86612 15.8839C2.10054 16.1183 2.41848 16.25 2.75 16.25H11.75C12.0815 16.25 12.3995 16.1183 12.6339 15.8839C12.8683 15.6495 13 15.3315 13 15V10C13 9.58579 13.3358 9.25 13.75 9.25C14.1642 9.25 14.5 9.58579 14.5 10V15C14.5 15.7293 14.2103 16.4288 13.6945 16.9445C13.1788 17.4603 12.4793 17.75 11.75 17.75H2.75C2.02065 17.75 1.32118 17.4603 0.805456 16.9445C0.289731 16.4288 0 15.7293 0 15V6C0 5.27065 0.289731 4.57118 0.805456 4.05546Z",fill:"currentColor"}));function ThemeBuilderCustomization({state:e,settingKey:t,onStateChange:n,data:o,disabled:i,tooltip:l=!1}){const c=o.hasOwnProperty("uploadedData"),[d,p]=(0,r.useState)([]),[f,m]=(0,r.useState)(!1);(0,r.useEffect)((()=>{e?.enabled&&c?loadConflicts():(p([]),m(!1))}),[e?.enabled,c,o]);const loadConflicts=async()=>{m(!0);try{const r=(o?.uploadedData?.conflicts?Object.entries(o.uploadedData.conflicts):[]).map((([e,t])=>{const n=o?.uploadedData?.manifest?.templates?.[e],r=t[0];return{template_id:r.template_id,template_name:r.template_title,edit_url:r.edit_url,imported_template_id:parseInt(e),imported_template_name:n?.title||"Unknown Template",location:n?.location||"",location_label:getTemplateTypeLabel(e)}}));if(p(r),!e?.overrideConditions||0===e.overrideConditions.length){const o=r.map((e=>e.imported_template_id));n(t,{...e,overrideConditions:o})}}catch(e){p([])}finally{m(!1)}},getTemplateTypeLabel=e=>{const t=o?.uploadedData?.manifest?.templates?.[e];if(!t)return"Unknown Template";const n=t.doc_type,r=elementorAppConfig?.["import-export-customization"]?.summaryTitles?.templates?.[n];return r?.single||n},handleConflictChoice=(o,r,i)=>{const a=e?.overrideConditions||[];let s;s="imported"===r?a.includes(i)?a:[...a,i]:a.filter((e=>e!==i)),n(t,{...e,overrideConditions:s})},getConflictChoice=t=>(e?.overrideConditions||[]).includes(t)?"imported":"current";return r.default.createElement(a.Box,{sx:{mb:3,border:1,borderRadius:1,borderColor:"action.focus",p:2.5}},r.default.createElement(a.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"}},r.default.createElement(a.Stack,{spacing:1},r.default.createElement(a.Typography,{variant:"h6"},(0,s.__)("Theme builder","elementor-pro")),r.default.createElement(a.Link,{href:elementorAppConfig.base_url+"#/site-editor/templates",target:"_blank",rel:"noopener noreferrer",color:"info.light",underline:"hover",sx:{display:"inline-flex",alignItems:"center",gap:.5}},(0,s.__)("Check your themes builder","elementor-pro"),r.default.createElement(ExternalLinkIcon,null))),r.default.createElement(u.UpgradeTooltip,{disabled:i,tooltip:l},r.default.createElement(a.Switch,{"data-testid":`${t}-switch`,checked:e?.enabled||!1,disabled:i,onChange:()=>{const o={enabled:!e?.enabled};c&&(o.overrideConditions=e?.enabled?[]:e?.overrideConditions||[]),n(t,o)},color:"info",size:"medium",sx:{alignSelf:"center",...i&&l&&{cursor:"pointer"}}}))),e?.enabled&&c&&0r.default.createElement(a.TableRow,{key:t},r.default.createElement(a.TableCell,null,r.default.createElement(a.Typography,{variant:"body2",fontWeight:"medium"},getTemplateTypeLabel(e.imported_template_id))),r.default.createElement(a.TableCell,null,r.default.createElement(a.FormControlLabel,{control:r.default.createElement(a.Radio,{checked:"current"===getConflictChoice(e.imported_template_id,e.location),onChange:()=>handleConflictChoice(e.location,"current",e.imported_template_id),size:"small"}),label:e.template_name})),r.default.createElement(a.TableCell,null,r.default.createElement(a.FormControlLabel,{control:r.default.createElement(a.Radio,{checked:"imported"===getConflictChoice(e.imported_template_id,e.location),onChange:()=>handleConflictChoice(e.location,"imported",e.imported_template_id),size:"small"}),label:e.imported_template_name})))))))))))}ThemeBuilderCustomization.propTypes={state:l.object.isRequired,settingKey:l.string.isRequired,onStateChange:l.func.isRequired,data:l.object.isRequired,disabled:l.bool,tooltip:l.bool}},6919:(e,t,n)=>{"use strict";var o=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.UpgradeNoticeBanner=function UpgradeNoticeBanner(){if((0,s.isHighTier)())return null;return r.default.createElement(i.Paper,{sx:{position:"sticky",bottom:0,marginLeft:-3,marginRight:-3,zIndex:1e3,py:2,px:3}},r.default.createElement(i.Paper,{elevation:0,color:"promotion",sx:{borderRadius:1,p:2}},r.default.createElement(i.Box,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:2}},r.default.createElement(i.Box,{sx:{flex:1,minWidth:0}},r.default.createElement(i.Typography,{variant:"body2",color:"text.secondary"},(0,a.__)("Take control of your workflow. The Expert plan lets you decide exactly what's included in your export/import kits, from themes to experiments so nothing gets left behind.","elementor"))),r.default.createElement(i.Button,{variant:"outlined",color:"promotion",onClick:()=>window.open("https://go.elementor.com/go-pro-import-export","_blank"),startIcon:r.default.createElement("span",{className:"eicon-upgrade-crown"}),sx:{flexShrink:0,whiteSpace:"nowrap"}},(0,a.__)("Check Expert plan","elementor")))))};var r=o(n(1594)),i=n(6956),a=n(2470),s=n(8551)},3101:(e,t,n)=>{"use strict";var o=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.UpgradeTooltip=void 0;var r=o(n(1594)),i=o(n(8304)),a=n(6956),s=n(2470),l=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(2688));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}const UpgradeTooltip=({children:e,disabled:t=!1,tooltip:n=!1,...o})=>t&&n?r.default.createElement(a.Tooltip,(0,i.default)({title:(0,s.__)("Upgrade your plan to choose which elements to adjust.","elementor"),placement:"top",arrow:!0,componentsProps:{tooltip:{sx:{maxWidth:200,fontSize:"12px",fontWeight:500,lineHeight:1.4,textAlign:"center",backgroundColor:"background.paper",color:"text.secondary",padding:1.5,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)"}},arrow:{sx:{fontSize:"1.2rem",color:"background.paper",filter:"drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15))","&::before":{backgroundColor:"background.paper"}}}}},o),r.default.createElement(a.Box,{component:"span"},e)):e;t.UpgradeTooltip=UpgradeTooltip,UpgradeTooltip.propTypes={children:l.node.isRequired,disabled:l.bool,tooltip:l.bool}},225:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.UpgradeVersionBanner=function UpgradeVersionBanner(){return i.default.createElement(a.Paper,{color:"info",elevation:0,variant:"elevation"},i.default.createElement(a.Stack,{direction:"row",sx:{alignItems:"center",justifyContent:"space-between",gap:"5px",py:1.5,px:2.5}},i.default.createElement(a.Stack,{direction:"row",sx:{alignItems:"center",gap:"5px"}},i.default.createElement(a.SvgIcon,{viewBox:"0 0 22 22",sx:{fontSize:16,color:"info.light"}},i.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.58268 4.35352C4.5219 4.35352 4.46361 4.37766 4.42064 4.42064C4.37766 4.46361 4.35352 4.5219 4.35352 4.58268V6.64518H6.64518V4.35352H4.58268ZM4.58268 2.97852C4.15723 2.97852 3.7492 3.14753 3.44837 3.44837C3.14753 3.7492 2.97852 4.15723 2.97852 4.58268V17.416C2.97852 17.8415 3.14753 18.2495 3.44837 18.5503C3.74921 18.8512 4.15723 19.0202 4.58268 19.0202H17.416C17.8415 19.0202 18.2495 18.8512 18.5503 18.5503C18.8512 18.2495 19.0202 17.8415 19.0202 17.416V4.58268C19.0202 4.15723 18.8512 3.74921 18.5503 3.44837C18.2495 3.14753 17.8415 2.97852 17.416 2.97852H4.58268ZM8.02018 4.35352V6.64518H17.6452V4.58268C17.6452 4.5219 17.621 4.46361 17.5781 4.42064C17.5351 4.37766 17.4768 4.35352 17.416 4.35352H8.02018ZM17.6452 8.02018H4.35352V17.416C4.35352 17.4768 4.37766 17.5351 4.42064 17.5781C4.46361 17.621 4.5219 17.6452 4.58268 17.6452H17.416C17.4768 17.6452 17.5351 17.621 17.5781 17.5781C17.621 17.5351 17.6452 17.4768 17.6452 17.416V8.02018Z",fill:"currentColor"})),i.default.createElement(a.Typography,{variant:"body2"},o("You’re using an older Elementor version. Update for full customization.","elementor"))),i.default.createElement(a.Button,{variant:"outlined",onClick:()=>window.open(elementorAppConfig["import-export-customization"]?.upgradeVersionUrl,"_blank"),color:"info"},o("Update version","elementor"))))};var i=r(n(1594)),a=n(6956)},8267:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useCustomPostTypes=function useCustomPostTypes({include:e=[]}={}){const[t,n]=(0,o.useState)([]);return(0,o.useEffect)((()=>{const t=Object.assign({},elementorAppConfig["import-export-customization"]?.summaryTitles?.content?.customPostTypes||{});e.length&&Object.entries(elementorAppConfig["import-export-customization"]?.summaryTitles?.content||{}).forEach((([n,o])=>{e.includes(n)&&(t[n]=o)})),Object.keys(t).length&&n(Object.entries(t).map((([e,t])=>({value:e,label:t.single}))))}),[]),{customPostTypes:t}};var o=n(1594)},6662:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useKitCustomizationCustomPostTypes=function useKitCustomizationCustomPostTypes({data:e}){const t=e?.hasOwnProperty("uploadedData"),{customPostTypes:n}=(0,r.useCustomPostTypes)({include:["post"]});return{customPostTypes:(0,o.useMemo)((()=>{if(!t)return n;const o=Object.values(e?.uploadedData?.manifest?.["custom-post-type-title"]||{}).map((e=>({value:e.name,label:e.label})));o.some((e=>"post"===e.value))||o.push({value:"post",label:"Post"});const r=e?.uploadedData?.manifest?.["wp-content"]||{},i=e?.uploadedData?.manifest?.content||{};return o.filter((e=>{const t=e.value,n=r[t],o=n&&"object"==typeof n&&Object.keys(n).length>0,a=i[t],s=a&&"object"==typeof a&&Object.keys(a).length>0;return o||s}))}),[t,e?.uploadedData,n])}},n(5724);var o=n(1594),r=n(8267)},7050:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useKitCustomizationPages=function useKitCustomizationPages({data:e,open:t}){const n=e?.hasOwnProperty("uploadedData"),{isLoading:i,pageOptions:a,isLoaded:s}=(0,r.usePages)({skipLoading:n||!t}),l=(0,o.useMemo)((()=>{if(!n)return a;return[...Object.entries(e?.uploadedData?.manifest?.content?.page||{}).map((([e,t])=>({value:e,label:t.title}))),...Object.entries(e?.uploadedData?.manifest?.["wp-content"]?.page||{}).map((([e,t])=>({value:e,label:t.title})))]}),[a,n,e?.uploadedData]);return{isLoading:i,pageOptions:l,isLoaded:s}};var o=n(1594),r=n(1699)},2771:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useKitCustomizationTaxonomies=function useKitCustomizationTaxonomies({data:e,open:t}){const n=e?.hasOwnProperty("uploadedData"),{isLoading:i,taxonomyOptions:a,isLoaded:s}=(0,r.useTaxonomies)({skipLoading:n||!t,exclude:["nav_menu"]});return{taxonomyOptions:(0,o.useMemo)((()=>{if(!n)return a;const t={};return Object.values(e?.uploadedData?.manifest?.taxonomies||{}).forEach((e=>{e.forEach((e=>{const n="string"==typeof e?{name:e,label:e.split("_").join(" ")}:e;t[n.name]||(t[n.name]={value:n.name,label:n.label})}))})),Object.values(t)}),[e?.uploadedData,n,a]),isLoading:i,isLoaded:s}};var o=n(1594),r=n(8372)},1699:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.usePages=function usePages({skipLoading:e=!1}={}){const[t,n]=(0,o.useState)([]),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)(null),[l,u]=(0,o.useState)(!0),c=(0,o.useRef)(null),d=(0,o.useCallback)((async()=>{if(!c.current)try{i(!0),s(null),n([]),u(!0);let e=1,t=[];for(;l||1===e;){const n=new URL(elementorCommon.config.urls.rest,window.location.origin),o="index.php"===n.pathname.replace(/\//g,"");n.pathname=o?n.pathname:`${n.pathname}wp/v2/pages`,o&&n.searchParams.set("rest_route","/wp/v2/pages"),n.searchParams.append("page",1),n.searchParams.append("per_page",100),n.searchParams.append("_embed","");const r=await fetch(n.toString(),{method:"GET",headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings?.nonce||""}});if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);const i=await r.json(),a=parseInt(r.headers.get("X-WP-TotalPages")||"1");if(t=[...t,...i],a<=e){u(!1);break}e++}n(t),c.current=!0}catch(e){s(e.message)}finally{i(!1)}}),[l]),p=(0,o.useCallback)((()=>{d()}),[d]),f=(0,o.useMemo)((()=>t.map((e=>({value:e.id,label:e.title.rendered})))),[t]);return(0,o.useEffect)((()=>{e||d()}),[e]),{pages:t,isLoading:r,error:a,refreshPages:p,pageOptions:f,isLoaded:c.current}};var o=n(1594)},8372:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useTaxonomies=function useTaxonomies({skipLoading:e=!1,exclude:t=[]}={}){const[n,r]=(0,o.useState)([]),[i,a]=(0,o.useState)(!1),[s,l]=(0,o.useState)(null),u=(0,o.useRef)(null),c=(0,o.useCallback)((async()=>{if(!u.current)try{a(!0),l(null);const e=await fetchTaxonomies();r(t.length?e.filter((e=>!t.includes(e.slug))):e),u.current=!0}catch(e){l(e.message)}finally{a(!1)}}),[]),d=(0,o.useCallback)((()=>{c()}),[c]),p=(0,o.useMemo)((()=>n.map((e=>({value:e.slug,label:e.name})))),[n]);return(0,o.useEffect)((()=>{e||c()}),[e]),{taxonomies:n,isLoading:i,error:s,refreshTaxonomies:d,taxonomyOptions:p,isLoaded:u.current}};var o=n(1594);const fetchTaxonomies=async()=>{const e=`${elementorCommon.config.urls.rest}wp/v2/taxonomies`,t=await fetch(e,{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings?.nonce||""}}),n=await t.json();if(!t.ok){throw new Error(n?.data?.message||`HTTP error! with the following code: ${n?.data?.code}`)}return Object.values(n)}},8551:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isHighTier=void 0;t.isHighTier=()=>{try{return"expert"===elementorCommon?.config?.library_connect?.plan_type||"agency"===elementorCommon?.config?.library_connect?.plan_type}catch(e){return!1}}},1052:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(8856),r=n(7450),i=n(8706);t.default=class Module{constructor(){this.registerCustomizationDialogs()}registerCustomizationDialogs(){if(!elementorCommon?.config?.experimentalFeatures?.["import-export-customization"])return;const e=window.elementorModules?.importExport?.customizationDialogsRegistry;e&&(e.register({key:"content",title:"Content Dialog",component:o.KitContentCustomizationDialog}),e.register({key:"templates",title:"Templates Dialog",component:r.KitTemplatesCustomizationDialog}),e.register({key:"settings",title:"Settings Dialog",component:i.KitSettingsCustomizationDialog}))}}},5533:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.transformValueForAnalytics=t.getTotalAvailableCount=t.ANALYTICS_TRANSFORM_RULES=void 0;const n=t.ANALYTICS_TRANSFORM_RULES={STRING:e=>e,BOOLEAN:e=>e,EMPTY_ARRAY:()=>"None",FULL_ARRAY:()=>"All",PARTIAL_ARRAY:()=>"Partial"},getTotalAvailableCount=(e,t)=>t.reduce(((e,{key:t,options:n})=>(e[t]=n.length,e)),{})[e]||0;t.getTotalAvailableCount=getTotalAvailableCount;t.transformValueForAnalytics=(e,t,o)=>{if("string"==typeof t||"boolean"==typeof t)return n[(typeof t).toUpperCase()](t);if("object"==typeof t&&null!==t&&!Array.isArray(t)&&"enabled"in t)return t.enabled;if(Array.isArray(t)){if(0===t.length)return n.EMPTY_ARRAY();const r=getTotalAvailableCount(e,o);return t.length===r?n.FULL_ARRAY():n.PARTIAL_ARRAY()}return t}},9844:(e,t,n)=>{"use strict";var o=n(2688),r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.Indicator=void 0;var i=r(n(1594));n(4047);const Indicator=e=>{let t="eps-indicator-bullet";return e.active&&(t+=` ${t}--active`),i.default.createElement("i",{className:t})};t.Indicator=Indicator,Indicator.propTypes={active:o.bool}},9303:(e,t,n)=>{"use strict";var o=n(2688),r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=PreviewIFrame;var i=r(n(1594));function PreviewIFrame(e){const t=i.default.useRef(null),[n,o]=i.default.useState(1),[r,a]=i.default.useState(0);return i.default.useEffect((()=>{const e=t.current.clientWidth/1200;o(e),a(t.current.clientHeight/e)}),[]),i.default.createElement("div",{ref:t,className:`site-editor__preview-iframe site-editor__preview-iframe--${e.templateType}`},i.default.createElement("iframe",{title:"preview",src:e.src,className:"site-editor__preview-iframe__iframe",style:{transform:`scale(${n})`,height:r,width:1200}}))}n(1260),PreviewIFrame.propTypes={src:o.string.isRequired,templateType:o.string.isRequired}},9804:(e,t,n)=>{"use strict";var o=n(1594);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.BaseContext=void 0;class BaseContext extends o.Component{constructor(e){super(e),this.state={action:{current:null,loading:!1,error:null,errorMeta:{}},updateActionState:this.updateActionState.bind(this),resetActionState:this.resetActionState.bind(this)}}executeAction(e,t){return this.updateActionState({current:e,loading:!0,error:null,errorMeta:{}}),t().then((e=>(this.resetActionState(),Promise.resolve(e)))).catch((t=>(this.updateActionState({current:e,loading:!1,error:t.message,errorMeta:t}),Promise.reject(t))))}updateActionState(e){return this.setState((t=>({action:{...t.action,...e}})))}resetActionState(){this.updateActionState({current:null,loading:!1,error:null,errorMeta:{}})}}t.BaseContext=BaseContext;t.default=BaseContext},4737:(e,t,n)=>{"use strict";var o=n(2688),r=n(2470).__,i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Context=t.ConditionsProvider=void 0;var a=i(n(1594)),s=i(n(8067)),l=i(n(2075)),u=i(n(9804)),c=n(5559);const d=t.Context=a.default.createContext();class ConditionsProvider extends u.default{static propTypes={children:o.any.isRequired,currentTemplate:o.object.isRequired,onConditionsSaved:o.func.isRequired,validateConflicts:o.bool};static defaultProps={validateConflicts:!0};static actions={FETCH_CONFIG:"fetch-config",SAVE:"save",CHECK_CONFLICTS:"check-conflicts"};conditionsConfig=null;constructor(e){super(e),this.state={...this.state,conditionsFetched:!1,conditions:{},updateConditionItemState:this.updateConditionItemState.bind(this),removeConditionItemInState:this.removeConditionItemInState.bind(this),createConditionItemInState:this.createConditionItemInState.bind(this),findConditionItemInState:this.findConditionItemInState.bind(this),saveConditions:this.saveConditions.bind(this)}}componentDidMount(){this.executeAction(ConditionsProvider.actions.FETCH_CONFIG,(()=>l.default.create())).then((e=>this.conditionsConfig=e)).then(this.normalizeConditionsState.bind(this)).then((()=>{this.setSubIdTitles.bind(this),this.setState({conditionsFetched:!0})}))}componentDidUpdate(e,t){!t.conditionsFetched&&this.state.conditionsFetched&&this.setSubIdTitles()}saveConditions(){const e=Object.values(this.state.conditions).map((e=>e.forDb()));return this.executeAction(ConditionsProvider.actions.SAVE,(()=>$e.data.update(c.TemplatesConditions.signature,{conditions:e},{id:this.props.currentTemplate.id}))).then((()=>{const e=Object.values(this.state.conditions).map((e=>e.forContext()));this.props.onConditionsSaved(this.props.currentTemplate.id,{conditions:e,instances:this.conditionsConfig.calculateInstances(Object.values(this.state.conditions)),isActive:!(!Object.keys(this.state.conditions).length||"publish"!==this.props.currentTemplate.status)})}))}checkConflicts(e){return this.executeAction(ConditionsProvider.actions.CHECK_CONFLICTS,(()=>$e.data.get(c.TemplatesConditionsConflicts.signature,{post_id:this.props.currentTemplate.id,condition:e.clone().toString()}))).then((t=>this.updateConditionItemState(e.id,{conflictErrors:Object.values(t.data)},!1)))}fetchSubIdsTitles(e){return new Promise((t=>elementorCommon.ajax.loadObjects({action:"query_control_value_titles",ids:_.isArray(e.subId)?e.subId:[e.subId],data:{get_titles:e.subIdAutocomplete,unique_id:elementorCommon.helpers.getUniqueId()},success(e){t(e)}})))}normalizeConditionsState(){this.updateConditionsState((()=>this.props.currentTemplate.conditions.reduce(((e,t)=>{const n=new s.default({...t,default:this.props.currentTemplate.defaultCondition,options:this.conditionsConfig.getOptions(),subOptions:this.conditionsConfig.getSubOptions(t.name),subIdAutocomplete:this.conditionsConfig.getSubIdAutocomplete(t.sub),subIdOptions:t.subId?[{value:t.subId,label:""}]:[]});return{...e,[n.id]:n}}),{}))).then((()=>{Object.values(this.state.conditions).forEach((e=>this.checkConflicts(e)))}))}setSubIdTitles(){return Object.values(this.state.conditions).forEach((e=>{if(e.subId)return this.fetchSubIdsTitles(e).then((t=>this.updateConditionItemState(e.id,{subIdOptions:[{label:Object.values(t)[0],value:e.subId}]},!1)))}))}updateConditionItemState(e,t,n=!0){t.name&&(t.subOptions=this.conditionsConfig.getSubOptions(t.name)),(t.sub||t.name)&&(t.subIdAutocomplete=this.conditionsConfig.getSubIdAutocomplete(t.sub),t.subIdOptions=[]),this.updateConditionsState((n=>{const o=n[e];return{...n,[e]:o.clone().set(t)}})).then((()=>{n&&this.checkConflicts(this.findConditionItemInState(e))}))}removeConditionItemInState(e){this.updateConditionsState((t=>{const n={...t};return delete n[e],n}))}createConditionItemInState(e=!0){const t=this.props.currentTemplate.defaultCondition,n=new s.default({name:t,default:t,options:this.conditionsConfig.getOptions(),subOptions:this.conditionsConfig.getSubOptions(t),subIdAutocomplete:this.conditionsConfig.getSubIdAutocomplete("")});this.updateConditionsState((e=>({...e,[n.id]:n}))).then((()=>{e&&this.checkConflicts(n)}))}findConditionItemInState(e){return Object.values(this.state.conditions).find((t=>t.id===e))}updateConditionsState(e){return new Promise((t=>this.setState((t=>({conditions:e(t.conditions)})),t)))}render(){if(this.state.action.current===ConditionsProvider.actions.FETCH_CONFIG){if(this.state.error)return a.default.createElement("h3",null,r("Error:","elementor-pro")," ",this.state.error);if(this.state.loading)return a.default.createElement("h3",null,r("Loading","elementor-pro"),"...")}return a.default.createElement(d.Provider,{value:this.state},this.props.children)}}t.ConditionsProvider=ConditionsProvider;t.default=ConditionsProvider},8067:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class Condition{id=elementorCommon.helpers.getUniqueId();default="";type="include";name="";sub="";subId="";options=[];subOptions=[];subIdAutocomplete=[];subIdOptions=[];conflictErrors=[];constructor(e){this.set(e)}set(e){return Object.assign(this,e),this}clone(){return Object.assign(new Condition,this)}remove(e){return Array.isArray(e)||(e=[e]),e.forEach((e=>{delete this[e]})),this}only(e){Array.isArray(e)||(e=[e]);const t=Object.keys(this).filter((t=>!e.includes(t)));return this.remove(t),this}toJson(){return JSON.stringify(this)}toString(){return this.forDb().filter((e=>e)).join("/")}forDb(){return[this.type,this.name,this.sub,this.subId]}forContext(){return{type:this.type,name:this.name,sub:this.sub,subId:this.subId}}}t.default=Condition},2075:(e,t,n)=>{"use strict";var o=n(2470).__;Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ConditionsConfig=void 0;var r=n(5559);class ConditionsConfig{static instance;config=null;constructor(e){this.config=e}static create(){return ConditionsConfig.instance?Promise.resolve(ConditionsConfig.instance):$e.data.get(r.ConditionsConfig.signature,{},{refresh:!0}).then((e=>(ConditionsConfig.instance=new ConditionsConfig(e.data),ConditionsConfig.instance)))}getOptions(){return this.getSubOptions("general",!0).map((({label:e,value:t})=>({label:e,value:t})))}getSubOptions(e,t=!1){const n=this.config[e];return n?[{label:n.all_label,value:t?e:""},...n.sub_conditions.map((e=>{const t=this.config[e];return{label:t.label,value:e,children:t.sub_conditions.length?this.getSubOptions(e,!0):null}}))]:[]}getSubIdAutocomplete(e){const t=this.config[e];if(!t||"object"!=typeof t.controls)return{};const n=Object.values(t.controls);return n?.[0]?.autocomplete?n[0].autocomplete:{}}calculateInstances(e){let t=e.reduce(((e,t)=>{if("exclude"===t.type)return e;const n=t.sub||t.name,o=this.config[n];if(!o)return e;const r=t.subId?`${o.label} #${t.subId}`:o.all_label;return{...e,[n]:r}}),{});return 0===Object.keys(t).length&&(t=[o("No instances","elementor-pro")]),t}}t.ConditionsConfig=ConditionsConfig;t.default=ConditionsConfig},1500:(e,t,n)=>{"use strict";var o=n(2688),r=n(2470).__,i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TemplatesProvider=t.Context=void 0;var a=i(n(1594)),s=i(n(9804)),l=n(5559),u=i(n(2239));const c=t.Context=a.default.createContext();class TemplatesProvider extends s.default{static propTypes={children:o.object.isRequired};static actions={FETCH:"fetch",DELETE:"delete",UPDATE:"update",IMPORT:"import"};constructor(e){super(e),this.state={...this.state,action:{...this.state.action,current:TemplatesProvider.actions.FETCH,loading:!0},templates:{},updateTemplateItemState:this.updateTemplateItemState.bind(this),findTemplateItemInState:this.findTemplateItemInState.bind(this),fetchTemplates:this.fetchTemplates.bind(this),deleteTemplate:this.deleteTemplate.bind(this),updateTemplate:this.updateTemplate.bind(this),importTemplates:this.importTemplates.bind(this)}}componentDidMount(){this.fetchTemplates()}importTemplates({fileName:e,fileData:t}){return this.executeAction(TemplatesProvider.actions.IMPORT,(()=>$e.data.create(l.Templates.signature,{fileName:e,fileData:t}))).then((e=>(this.updateTemplatesState((t=>({...t,...Object.values(e.data).reduce(((e,t)=>t.supportsSiteEditor?{...e,[t.id]:t}:e),{})}))),e)))}deleteTemplate(e){return this.executeAction(TemplatesProvider.actions.DELETE,(()=>$e.data.delete(l.Templates.signature,{id:e}))).then((()=>{this.updateTemplatesState((t=>{const n={...t};return delete n[e],n}))}))}updateTemplate(e,t){return this.executeAction(TemplatesProvider.actions.UPDATE,(()=>$e.data.update(l.Templates.signature,t,{id:e}))).then((t=>{this.updateTemplateItemState(e,t.data)}))}fetchTemplates(){return this.executeAction(TemplatesProvider.actions.FETCH,(()=>$e.data.get(l.Templates.signature,{},{refresh:!0}))).then((e=>{this.updateTemplatesState((()=>Object.values(e.data).reduce(((e,t)=>({...e,[t.id]:t})),{})),!1)}))}updateTemplateItemState(e,t){return this.updateTemplatesState((n=>{const o={...n[e],...t};return{...n,[e]:o}}))}updateTemplatesState(e,t=!0){return t&&$e.data.deleteCache($e.components.get(u.default.namespace),l.Templates.signature),this.setState((t=>({templates:e(t.templates)})))}findTemplateItemInState(e){return this.state.templates[e]}render(){if(this.state.action.current===TemplatesProvider.actions.FETCH){if(this.state.action.error)return a.default.createElement("h3",null,r("Error:","elementor-pro")," ",this.state.action.error);if(this.state.action.loading)return a.default.createElement("h3",null,r("Loading","elementor-pro"),"...")}return a.default.createElement(c.Provider,{value:this.state},this.props.children)}}t.TemplatesProvider=TemplatesProvider;t.default=TemplatesProvider},7952:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ConditionsConfig=void 0;class ConditionsConfig extends $e.modules.CommandData{static signature="site-editor/conditions-config";static getEndpointFormat(){return"site-editor/conditions-config/{id}"}}t.ConditionsConfig=ConditionsConfig;t.default=ConditionsConfig},5559:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ConditionsConfig",{enumerable:!0,get:function(){return r.ConditionsConfig}}),Object.defineProperty(t,"Templates",{enumerable:!0,get:function(){return o.Templates}}),Object.defineProperty(t,"TemplatesConditions",{enumerable:!0,get:function(){return i.TemplatesConditions}}),Object.defineProperty(t,"TemplatesConditionsConflicts",{enumerable:!0,get:function(){return a.TemplatesConditionsConflicts}});var o=n(7636),r=n(7952),i=n(9591),a=n(7821)},7821:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TemplatesConditionsConflicts=void 0;class TemplatesConditionsConflicts extends $e.modules.CommandData{static signature="site-editor/templates-conditions-conflicts";static getEndpointFormat(){return`${TemplatesConditionsConflicts.signature}/{id}`}}t.TemplatesConditionsConflicts=TemplatesConditionsConflicts;t.default=TemplatesConditionsConflicts},9591:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TemplatesConditions=void 0;class TemplatesConditions extends $e.modules.CommandData{static signature="site-editor/templates-conditions";static getEndpointFormat(){return"site-editor/templates-conditions/{id}"}}t.TemplatesConditions=TemplatesConditions;t.default=TemplatesConditions},7636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Templates=void 0;class Templates extends $e.modules.CommandData{static signature="site-editor/templates";static getEndpointFormat(){return"site-editor/templates/{id}"}}t.Templates=Templates;t.default=Templates},2239:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(5559));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}class Component extends $e.modules.ComponentBase{static namespace="site-editor";getNamespace(){return this.constructor.namespace}defaultData(){return this.importCommands(o)}}t.default=Component},2138:(e,t,n)=>{"use strict";var o=n(1594);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function useTemplatesScreenshot(e=null){const{updateTemplateItemState:t,templates:n}=o.useContext(r.Context),a=Object.values(n).filter((t=>function shouldScreenshotTemplate(e,t=null){if(t)return!1;return"publish"===e.status&&!e.thumbnail&&e.screenshot_url}(t,e))),s=(0,i.default)(a);return o.useEffect((()=>{s.posts.filter((e=>e.status===i.SCREENSHOT_STATUS_SUCCEED)).forEach((e=>t(e.id,{thumbnail:e.imageUrl})))}),[s.succeed]),o.useEffect((()=>{s.posts.filter((e=>e.status===i.SCREENSHOT_STATUS_FAILED)).forEach((e=>t(e.id,{screenshot_url:null})))}),[s.failed]),s};var r=n(1500),i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(6930));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}},7579:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=BackButton;var a=i(n(1594)),s=n(7401);function BackButton(e){return a.default.createElement("div",{className:"back-button-wrapper"},a.default.createElement(s.Button,{className:"eps-back-button",text:o("Back","elementor-pro"),icon:"eicon-chevron-left",onClick:e.onClick}))}n(9652),BackButton.propTypes={onClick:r.func},BackButton.defaultProps={onClick:()=>history.back()}},6558:(e,t,n)=>{"use strict";var o=n(2688),r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.SiteTemplateBody=void 0;var i=r(n(1594)),a=n(7401),s=r(n(6620)),l=r(n(9303));const SiteTemplateBody=e=>i.default.createElement(a.CardBody,null,e.extended?i.default.createElement(l.default,{src:e.previewUrl,templateType:e.type}):i.default.createElement(s.default,{id:e.id,title:e.title,type:e.type,thumbnail:e.thumbnail,placeholder:e.placeholderUrl}));t.SiteTemplateBody=SiteTemplateBody,SiteTemplateBody.propTypes={extended:o.bool,id:o.number,title:o.string,thumbnail:o.string,placeholderUrl:o.string,type:o.string,previewUrl:o.string}},6085:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.SiteTemplateFooter=void 0;var a=i(n(1594)),s=n(7401);const SiteTemplateFooter=e=>{const t=Object.values(e.instances).join(", ");return a.default.createElement(s.CardFooter,null,a.default.createElement("div",{className:"e-site-template__instances"},a.default.createElement(s.Icon,{className:"eicon-flow"}),a.default.createElement(s.Text,{tag:"span",variant:"sm"},a.default.createElement("b",null,o("Instances","elementor-pro"),":")),a.default.createElement(s.Text,{className:"e-site-template__instances-list",tag:"span",variant:"xxs"}," ",t),a.default.createElement(s.Button,{text:o("Edit Conditions","elementor-pro"),className:"e-site-template__edit-conditions",url:`/site-editor/conditions/${e.id}`})))};t.SiteTemplateFooter=SiteTemplateFooter,SiteTemplateFooter.propTypes={id:r.number.isRequired,instances:r.any}},508:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.SiteTemplateHeader=void 0;var a=i(n(1594)),s=n(7401),l=i(n(7146)),u=n(9844);const SiteTemplateHeader=e=>{const t=e.status&&"publish"!==e.status?` (${e.status})`:"",n=e.title+t,ActionButtons=()=>a.default.createElement(a.default.Fragment,null,a.default.createElement(s.Button,{text:o("Edit","elementor-pro"),icon:"eicon-edit",className:"e-site-template__edit-btn",size:"sm",url:e.editURL}),a.default.createElement(l.default,e)),MetaDataIcon=e=>a.default.createElement(s.Text,{tag:"span",className:"e-site-template__meta-data"},a.default.createElement(s.Icon,{className:e.icon}),e.content),MetaData=()=>a.default.createElement(a.default.Fragment,null,a.default.createElement(MetaDataIcon,{icon:"eicon-user-circle-o",content:e.author}),a.default.createElement(MetaDataIcon,{icon:"eicon-clock-o",content:e.modifiedDate})),r=e.showInstances?a.default.createElement(u.Indicator,{active:e.isActive}):"";return a.default.createElement(s.CardHeader,null,r,a.default.createElement(s.Heading,{tag:"h1",title:n,variant:"text-sm",className:"eps-card__headline"},n),e.extended&&a.default.createElement(MetaData,null),e.extended&&a.default.createElement(ActionButtons,null))};t.SiteTemplateHeader=SiteTemplateHeader,SiteTemplateHeader.propTypes={isActive:r.bool,author:r.string,editURL:r.string,extended:r.bool,modifiedDate:r.string,status:r.string,title:r.string,showInstances:r.bool}},6620:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=SiteTemplateThumbnail;var a=i(n(1594)),s=n(7401);function SiteTemplateThumbnail(e){return a.default.createElement(s.CardImage,{alt:e.title,src:e.thumbnail||e.placeholder,className:e.thumbnail?"":"e-site-template__placeholder"},a.default.createElement(s.CardOverlay,{className:"e-site-template__overlay-preview"},a.default.createElement(s.Button,{className:"e-site-template__overlay-preview-button",text:o("Preview","elementor-pro"),icon:"eicon-preview-medium",url:`/site-editor/templates/${e.type}/${e.id}`})))}SiteTemplateThumbnail.propTypes={id:r.number,title:r.string,type:r.string,thumbnail:r.string,placeholder:r.string}},6789:(e,t,n)=>{"use strict";var o=n(2688),r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=SiteTemplate;var i=r(n(1594));n(5724);var a=n(7401),s=n(508),l=n(6558),u=n(6085);function SiteTemplate(e){const t="e-site-template",n=[t],o=i.default.useRef(null);i.default.useEffect((()=>{e.isSelected&&o.current.scrollIntoView({behavior:"smooth",block:"start"})}),[e.isSelected]),e.extended&&n.push(`${t}--extended`),e.aspectRatio&&n.push(`${t}--${e.aspectRatio}`);const r=e.extended&&e.showInstances?i.default.createElement(u.SiteTemplateFooter,e):"";return i.default.createElement(a.Card,{className:n.join(" "),ref:o},i.default.createElement(s.SiteTemplateHeader,e),i.default.createElement(l.SiteTemplateBody,e),r)}n(3762),SiteTemplate.propTypes={aspectRatio:o.string,className:o.string,extended:o.bool,id:o.number.isRequired,isActive:o.bool.isRequired,status:o.string,thumbnail:o.string.isRequired,title:o.string.isRequired,isSelected:o.bool,type:o.string.isRequired,showInstances:o.bool},SiteTemplate.defaultProps={isSelected:!1}},3192:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=SiteTemplates;var a=i(n(1594)),s=i(n(8304)),l=n(7401),u=i(n(6789)),c=n(7146),d=n(1500),p=i(n(2138));function SiteTemplates(e){const{templates:t,action:n,resetActionState:r}=a.default.useContext(d.Context);let i,f;f=a.default.useMemo((()=>Object.values(t).sort(((e,t)=>t.isActive||e.isActive?t.isActive&&e.isActive?t.datet.type===e.type)),m.extended=!0,m.type=e.type,e.type){case"header":case"footer":i=1,m.aspectRatio="wide";break;default:i=2}return f&&f.length?a.default.createElement("section",{className:"e-site-editor__site-templates"},a.default.createElement(c.PartActionsDialogs,null),n.error&&a.default.createElement(l.Dialog,{text:n.error,dismissButtonText:o("Go Back","elementor-pro"),dismissButtonOnClick:r,approveButtonText:o("Learn More","elementor-pro"),approveButtonColor:"link",approveButtonUrl:"https://go.elementor.com/app-theme-builder-template-load-issue",approveButtonTarget:"_target"}),a.default.createElement(l.CssGrid,{columns:i,spacing:24,colMinWidth:200},f.map((t=>a.default.createElement(u.default,(0,s.default)({key:t.id},t,m,{isSelected:parseInt(e.id)===t.id})))))):a.default.createElement("h3",null,o("No Templates found. Want to create one?","elementor-pro"),"...")}SiteTemplates.propTypes={type:r.string,id:r.string}},6400:(e,t,n)=>{"use strict";var o=n(2688),r=n(2470).__,i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function AddNew(){const{templates:e}=a.default.useContext(u.Context),t=1<=Object.keys(e).length,{isLocked:n,ConnectButton:i}=(0,d.default)("site-editor"),HoverElement=e=>n?a.default.createElement(s.CardOverlay,{className:"e-site-editor__promotion-overlay"},a.default.createElement("div",{className:"e-site-editor__promotion-overlay__link"},a.default.createElement("i",{className:"e-site-editor__promotion-overlay__icon eicon-lock"}))):a.default.createElement("a",{href:e.urls.create,className:"eps-card__image-overlay eps-add-new__overlay"},a.default.createElement(s.AddNewButton,{hideText:!0}));return HoverElement.propTypes={urls:o.object.isRequired},a.default.createElement("section",{className:"e-site-editor__add-new"},a.default.createElement(s.Grid,{container:!0,direction:"column",className:"e-site-editor__header"},t&&a.default.createElement(s.Grid,{item:!0},a.default.createElement(c.default,null)),a.default.createElement(s.Grid,{item:!0,container:!0,justify:"space-between",alignItems:"start"},a.default.createElement(s.Heading,{variant:"h1"},r("Start customizing every part of your site","elementor-pro")),n&&a.default.createElement(i,null))),a.default.createElement(l.SiteParts,{hoverElement:HoverElement}))};var a=i(n(1594)),s=n(7401),l=n(858);n(8515);var u=n(1500),c=i(n(7579)),d=i(n(4292))},7010:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(5206),r=n(1594),i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(2688));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}const ConditionButtonPortal=e=>{const[t,n]=(0,r.useState)(!1),i=document.getElementById("portal-root");return(0,r.useEffect)((()=>{n(!!i)}),[i]),t?(0,o.createPortal)(e.children,i):null};ConditionButtonPortal.propTypes={children:i.oneOfType([i.node,i.string])};t.default=ConditionButtonPortal},7624:(e,t,n)=>{"use strict";var o=n(2470).sprintf,r=n(2470).__,i=n(2688),a=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ConditionConflicts;var s=a(n(1594)),l=n(7401);function ConditionConflicts(e){if(!e.conflicts.length)return"";const t=e.conflicts.map((e=>s.default.createElement(l.Button,{key:e.template_id,target:"_blank",url:e.edit_url,text:e.template_title})));return s.default.createElement(l.Text,{className:"e-site-editor-conditions__conflict",variant:"sm"},o(r("We noticed that you already applied %s with the same condition.","elementor-pro"),t),s.default.createElement("br",null),r("To continue, set different conditions for each so they don't conflict.","elementor-pro"))}ConditionConflicts.propTypes={conflicts:i.array.isRequired}},1360:(e,t,n)=>{"use strict";var o=n(2688),r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ConditionName;var i=r(n(1594)),a=n(7401);function ConditionName(e){if("general"!==e.default)return"";return i.default.createElement("div",{className:"e-site-editor-conditions__input-wrapper"},i.default.createElement(a.Select,{options:e.options,value:e.name,onChange:t=>e.updateConditions(e.id,{name:t.target.value,sub:"",subId:""})}))}ConditionName.propTypes={updateConditions:o.func.isRequired,id:o.string.isRequired,name:o.string.isRequired,options:o.array.isRequired,default:o.string.isRequired},ConditionName.defaultProps={name:""}},2943:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ConditionSubId;var a=i(n(1594)),s=n(7401);function ConditionSubId(e){const t=a.default.useMemo((()=>Object.keys(e.subIdAutocomplete).length?function getSettings(e){return{allowClear:!1,placeholder:o("All","elementor-pro"),dir:elementorCommon.config.isRTL?"rtl":"ltr",ajax:{transport:(t,n,o)=>elementorCommon.ajax.addRequest("pro_panel_posts_control_filter_autocomplete",{data:{q:t.data.q,autocomplete:e},success:n,error:o}),data:e=>({q:e.term,page:e.page}),cache:!0},escapeMarkup:e=>e,minimumInputLength:1}}(e.subIdAutocomplete):null),[e.subIdAutocomplete]);if(!e.sub||!t)return"";return a.default.createElement("div",{className:"e-site-editor-conditions__input-wrapper"},a.default.createElement(s.Select2,{onChange:t=>e.updateConditions(e.id,{subId:t.target.value}),value:e.subId,settings:t,options:e.subIdOptions}))}ConditionSubId.propTypes={subIdAutocomplete:r.object,id:r.string.isRequired,sub:r.string,subId:r.string,updateConditions:r.func,subIdOptions:r.array},ConditionSubId.defaultProps={subId:"",subIdOptions:[]}},2437:(e,t,n)=>{"use strict";var o=n(2688),r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ConditionSub;var i=r(n(1594)),a=n(7401);function ConditionSub(e){if("general"===e.name||!e.subOptions.length)return"";return i.default.createElement("div",{className:"e-site-editor-conditions__input-wrapper"},i.default.createElement(a.Select,{options:e.subOptions,value:e.sub,onChange:t=>e.updateConditions(e.id,{sub:t.target.value,subId:""})}))}ConditionSub.propTypes={updateConditions:o.func.isRequired,id:o.string.isRequired,name:o.string.isRequired,sub:o.string.isRequired,subOptions:o.array.isRequired},ConditionSub.defaultProps={sub:"",subOptions:{}}},1303:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ConditionType;var a=i(n(1594)),s=n(7401);function ConditionType(e){const t=a.default.createRef(),n=[{label:o("Include","elementor-pro"),value:"include"},{label:o("Exclude","elementor-pro"),value:"exclude"}];return a.default.useEffect((()=>{t.current.setAttribute("data-elementor-condition-type",e.type)})),a.default.createElement("div",{className:"e-site-editor-conditions__input-wrapper e-site-editor-conditions__input-wrapper--condition-type",ref:t},a.default.createElement(s.Select,{options:n,value:e.type,onChange:t=>{e.updateConditions(e.id,{type:t.target.value})}}))}ConditionType.propTypes={updateConditions:r.func.isRequired,id:r.string.isRequired,type:r.string.isRequired},ConditionType.defaultProps={type:""}},8927:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ConditionsRows;var a=i(n(1594)),s=i(n(8304)),l=n(4737),u=n(7401),c=i(n(1303)),d=i(n(1360)),p=i(n(2437)),f=i(n(2943)),m=i(n(7624)),h=i(n(7010));function ConditionsRows(e){const{conditions:t,createConditionItemInState:n,updateConditionItemState:r,removeConditionItemInState:i,saveConditions:g,action:v,resetActionState:b}=a.default.useContext(l.Context),y=Object.values(t).map((e=>a.default.createElement("div",{key:e.id},a.default.createElement("div",{className:"e-site-editor-conditions__row"},a.default.createElement("div",{className:`e-site-editor-conditions__row-controls ${e.conflictErrors.length&&"e-site-editor-conditions__row-controls--error"}`},a.default.createElement(c.default,(0,s.default)({},e,{updateConditions:r})),a.default.createElement("div",{className:"e-site-editor-conditions__row-controls-inner"},a.default.createElement(d.default,(0,s.default)({},e,{updateConditions:r})),a.default.createElement(p.default,(0,s.default)({},e,{updateConditions:r})),a.default.createElement(f.default,(0,s.default)({},e,{updateConditions:r})))),a.default.createElement(u.Button,{className:"e-site-editor-conditions__remove-condition",text:o("Delete","elementor-pro"),icon:"eicon-close",hideText:!0,onClick:()=>i(e.id)})),a.default.createElement(m.default,{conflicts:e.conflictErrors})))),SaveButton=()=>a.default.createElement(u.Button,{variant:"contained",color:"primary",size:"lg",hideText:_,icon:_?"eicon-loading eicon-animation-spin":"",text:o("Save & Close","elementor-pro"),onClick:()=>g().then(e.onAfterSave)}),_=v.current===l.ConditionsProvider.actions.SAVE&&v.loading;return a.default.createElement(a.default.Fragment,null,v.error&&a.default.createElement(u.Dialog,{text:v.error,dismissButtonText:o("Go Back","elementor-pro"),dismissButtonOnClick:b,approveButtonText:o("Learn More","elementor-pro"),approveButtonColor:"link",approveButtonUrl:"https://go.elementor.com/app-theme-builder-conditions-load-issue",approveButtonTarget:"_target"}),a.default.createElement("div",{className:"e-site-editor-conditions__rows"},y),a.default.createElement("div",{className:"e-site-editor-conditions__add-button-container"},a.default.createElement(u.Button,{className:"e-site-editor-conditions__add-button",variant:"contained",size:"lg",text:o("Add Condition","elementor-pro"),onClick:n})),a.default.createElement("div",{className:"e-site-editor-conditions__footer"},e?.loadPortal?a.default.createElement(h.default,null,a.default.createElement(SaveButton,null)):a.default.createElement(SaveButton,null)))}ConditionsRows.propTypes={onAfterSave:r.func,loadPortal:r.bool}},4933:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Conditions;var a=i(n(1594)),s=n(7401),l=i(n(4737)),u=n(1500),c=i(n(8927));n(734);var d=i(n(7579));function Conditions(e){const{findTemplateItemInState:t,updateTemplateItemState:n}=a.default.useContext(u.Context),r=t(parseInt(e.id));return r?a.default.createElement("section",{className:"e-site-editor-conditions"},a.default.createElement(d.default,null),a.default.createElement("div",{className:"e-site-editor-conditions__header"},a.default.createElement("img",{className:"e-site-editor-conditions__header-image",src:`${elementorAppProConfig.baseUrl}/modules/theme-builder/assets/images/conditions-tab.svg`,alt:o("Import template","elementor-pro")}),a.default.createElement(s.Heading,{variant:"h1",tag:"h1"},o("Where do you want to display your template?","elementor-pro")),a.default.createElement(s.Text,{variant:"p"},o("Set the conditions that determine where your template is used throughout your site.","elementor-pro"),a.default.createElement("br",null),o("For example, choose 'Entire Site' to display the template across your site.","elementor-pro"))),a.default.createElement(l.default,{currentTemplate:r,onConditionsSaved:n},a.default.createElement(c.default,{onAfterSave:()=>history.back(),loadPortal:!0}))):a.default.createElement("div",null,o("Not Found","elementor-pro"))}Conditions.propTypes={id:r.string}},3147:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function Import(){const{importTemplates:e,action:t,resetActionState:n}=i.default.useContext(s.Context),[r,c]=i.default.useState(null),d=t.current===s.TemplatesProvider.actions.IMPORT,p=d&&t.loading,f=d&&t.error,m=i.default.useCallback((t=>{p||function readFile(e){return new Promise((t=>{const n=new FileReader;n.readAsDataURL(e),n.onload=e=>{t(e.target.result.replace(/^[^,]+,/,""))}}))}(t).then((n=>e({fileName:t.name,fileData:n}))).then((e=>{c(e.data[0])}))}),[]),{runAction:h,dialog:g,checkbox:v}=u({doNotShowAgainKey:"upload_json_warning_generic_message",action:m});return i.default.createElement("section",{className:"site-editor__import"},r&&i.default.createElement(a.Dialog,{title:o("Your template was imported","elementor-pro"),approveButtonText:o("Preview","elementor-pro"),approveButtonUrl:r.url,approveButtonTarget:"_blank",dismissButtonText:o("Edit","elementor-pro"),dismissButtonUrl:r.editURL,dismissButtonTarget:"_top",onClose:()=>c(null)}),f&&i.default.createElement(a.Dialog,{title:t.error,approveButtonText:o("Learn More","elementor-pro"),approveButtonUrl:"https://go.elementor.com/app-theme-builder-import-issue",approveButtonTarget:"_blank",approveButtonColor:"link",dismissButtonText:o("Go Back","elementor-pro"),dismissButtonOnClick:n,onClose:n}),g.isOpen&&i.default.createElement(a.Dialog,{title:o("Warning: JSON or ZIP files may be unsafe","elementor-pro"),text:o("Uploading JSON or ZIP files from unknown sources can be harmful and put your site at risk. For maximum safety, upload only JSON or ZIP files from trusted sources.","elementor-pro"),approveButtonColor:"link",approveButtonText:o("Continue","elementor-pro"),approveButtonOnClick:g.approve,dismissButtonText:o("Cancel","elementor-pro"),dismissButtonOnClick:g.dismiss,onClose:g.dismiss},i.default.createElement("label",{htmlFor:"do-not-show-upload-json-warning-again",style:{display:"flex",alignItems:"center",gap:"5px"}},i.default.createElement(a.Checkbox,{id:"do-not-show-upload-json-warning-again",type:"checkbox",value:v.isChecked,onChange:e=>v.setIsChecked(!!e.target.checked)}),o("Do not show this message again","elementor-pro"))),i.default.createElement(l.default,null),i.default.createElement(a.DropZone,{heading:o("Import Template To Your Library","elementor-pro"),text:o("Drag & Drop your .JSON or .zip template file","elementor-pro"),secondaryText:o("or","elementor-pro"),onFileSelect:h,isLoading:p,filetypes:["zip","json"]}))};var i=r(n(1594)),a=n(7401),s=n(1500),l=r(n(7579));const u=n(8276).useConfirmAction??(({action:e})=>({runAction:e,dialog:{isOpen:!1}}))},157:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=TemplateType;var a=i(n(1594)),s=n(858),l=n(7401),u=i(n(3192)),c=i(n(4292));function TemplateType(e){const{templateTypes:t}=a.default.useContext(s.TemplateTypesContext),n=t.find((t=>t.type===e.type)),{isLocked:r,ConnectButton:i}=(0,c.default)("site-editor");return n?a.default.createElement("section",{className:`e-site-editor__templates e-site-editor__templates--type-${e.type}`},a.default.createElement(l.Grid,{className:"page-header",container:!0,justify:"space-between"},a.default.createElement(l.Heading,{variant:"h1"},n.page_title),r?a.default.createElement(i,null):a.default.createElement(l.AddNewButton,{url:n.urls.create,text:o("Add New","elementor-pro")})),a.default.createElement("hr",{className:"eps-separator"}),a.default.createElement(u.default,{type:n.type,id:e.id})):a.default.createElement(l.NotFound,null)}n(1402),TemplateType.propTypes={type:r.string,page_title:r.string,id:r.string}},8519:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function Templates(){const{isLocked:e,ConnectButton:t}=(0,l.default)("site-editor");return i.default.createElement("section",{className:"e-site-editor__site-templates"},i.default.createElement(s.Grid,{container:!0,justify:"space-between",alignItems:"start",className:"page-header"},i.default.createElement("h1",null,o("Your Site's Global Parts","elementor-pro")),e?i.default.createElement(t,null):i.default.createElement(s.AddNewButton,{url:"/site-editor/add-new"})),i.default.createElement("hr",{className:"eps-separator"}),i.default.createElement(a.default,null))};var i=r(n(1594)),a=r(n(3192)),s=n(7401),l=r(n(4292))},8031:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=DialogDelete;var a=i(n(1594)),s=n(7401),l=n(1500);function DialogDelete(e){const{deleteTemplate:t,findTemplateItemInState:n}=a.default.useContext(l.Context),closeDialog=n=>{e.setId(null),n&&t(e.id)};if(!e.id)return"";const r=n(e.id);return a.default.createElement(s.Dialog,{title:o("Move Item To Trash","elementor-pro"),text:o("Are you sure you want to move this item to trash:","elementor-pro")+` "${r.title}"`,onSubmit:()=>closeDialog(!0),approveButtonText:o("Move to Trash","elementor-pro"),approveButtonOnClick:()=>closeDialog(!0),approveButtonColor:"danger",dismissButtonText:o("Cancel","elementor-pro"),dismissButtonOnClick:()=>closeDialog(),onClose:()=>closeDialog()})}DialogDelete.propTypes={id:r.number,setId:r.func.isRequired}},7730:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688);Object.defineProperty(t,"__esModule",{value:!0}),t.default=DialogRename;var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(1594)),a=n(7401),s=n(1500);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function DialogRename(e){const{findTemplateItemInState:t,updateTemplate:n}=i.default.useContext(s.Context),r=t(e.id),[l,u]=i.default.useState("");(0,i.useEffect)((()=>{r&&u(r.title)}),[r]);const closeDialog=t=>{e.setId(null),t&&n(e.id,{post_title:l})};return e.id?i.default.createElement(a.Dialog,{title:o("Rename Site Part","elementor-pro"),approveButtonText:o("Change","elementor-pro"),onSubmit:()=>closeDialog(!0),approveButtonOnClick:()=>closeDialog(!0),approveButtonColor:"primary",dismissButtonText:o("Cancel","elementor-pro"),dismissButtonOnClick:()=>closeDialog(),onClose:()=>closeDialog()},i.default.createElement("input",{type:"text",className:"eps-input eps-input-text eps-input--block",autoFocus:!0,value:l,onChange:e=>u(e.target.value)})):""}DialogRename.propTypes={id:r.number,setId:r.func.isRequired}},7146:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(2688),i=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.PartActionsDialogs=function PartActionsDialogs(){const[e,t]=a.default.useState(null),[n,o]=a.default.useState(null);return c.rename=t,c.delete=o,a.default.createElement(a.default.Fragment,null,a.default.createElement(s.default,{id:e,setId:t}),a.default.createElement(l.default,{id:n,setId:o}))},t.default=PartActionsButtons,t.handlers=void 0;var a=i(n(1594)),s=i(n(7730)),l=i(n(8031)),u=n(7401);const c=t.handlers={rename:null,delete:null};function PartActionsButtons(e){const[t,n]=a.default.useState(!1);let r="";return t&&(r=a.default.createElement(u.Popover,{closeFunction:()=>n(!t)},a.default.createElement("li",null,a.default.createElement(u.Button,{className:"eps-popover__item",icon:"eicon-sign-out",text:o("Export","elementor-pro"),url:e.exportLink})),a.default.createElement("li",null,a.default.createElement(u.Button,{className:"eps-popover__item eps-popover__item--danger",icon:"eicon-trash-o",text:o("Trash","elementor-pro"),onClick:()=>c.delete(e.id)})),a.default.createElement("li",null,a.default.createElement(u.Button,{className:"eps-popover__item",icon:"eicon-edit",text:o("Rename","elementor-pro"),onClick:()=>c.rename(e.id)})))),a.default.createElement("div",{className:"eps-popover__container"},a.default.createElement(u.Button,{text:o("Toggle","elementor-pro"),hideText:!0,icon:"eicon-ellipsis-h",size:"lg",onClick:()=>n(!t)}),r)}PartActionsButtons.propTypes={id:r.number.isRequired,exportLink:r.string.isRequired}},2808:(e,t,n)=>{"use strict";var o=n(2470).__,r=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1594)),a=n(3040),s=r(n(8519)),l=r(n(157)),u=r(n(6400)),c=r(n(4933)),d=r(n(3147)),p=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&{}.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(o,i,a):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(n(1500)),f=n(858),m=n(7401),h=r(n(7485)),g=r(n(2239)),v=r(n(4292));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}function SiteEditor(){const{isLocked:e}=(0,v.default)("site-editor"),t="site-editor",n=[{id:"import",text:o("import","elementor-pro"),hideText:!0,icon:"eicon-upload-circle-o",onClick:()=>h.default.appHistory.navigate(t+"/import")}];elementorCommon.ajax.invalidateCache({unique_id:"app_site_editor_template_types"});const SiteEditorDefault=()=>{const{templates:e}=i.default.useContext(p.Context);return Object.keys(e).length?i.default.createElement(a.Redirect,{from:"/",to:"/"+t+"/templates",noThrow:!0}):i.default.createElement(a.Redirect,{from:"/",to:"/"+t+"/add-new",noThrow:!0})};return i.default.createElement(m.ErrorBoundary,{title:o("Theme Builder could not be loaded","elementor-pro"),learnMoreUrl:"https://go.elementor.com/app-theme-builder-load-issue"},i.default.createElement(f.Layout,{allPartsButton:i.default.createElement(f.AllPartsButton,{url:"/"+t}),headerButtons:n,titleRedirectRoute:"/"+t,promotion:e},i.default.createElement(m.Grid,{container:!0,className:"e-site-editor__content_container"},i.default.createElement(m.Grid,{item:!0,className:"e-site-editor__content_container_main"},i.default.createElement(p.default,null,i.default.createElement(a.LocationProvider,{history:h.default.appHistory},i.default.createElement(a.Router,null,i.default.createElement(SiteEditorDefault,{path:t}),i.default.createElement(s.default,{path:t+"/templates"}),i.default.createElement(l.default,{path:t+"/templates/:type/*id"}),i.default.createElement(u.default,{path:t+"/add-new"}),i.default.createElement(c.default,{path:t+"/conditions/:id"}),i.default.createElement(d.default,{path:t+"/import"}),i.default.createElement(f.NotFound,{default:!0}))))),i.default.createElement(m.Grid,{container:!0,justify:"space-between",className:"e-site-editor__content_container_secondary"},i.default.createElement(m.Button,{text:o("Switch to table view","elementor-pro"),url:elementorAppProConfig["site-editor"]?.urls?.legacy_view}),-1!==window.location.href.indexOf("conditions")&&i.default.createElement("div",{id:"portal-root"})))))}n(5043);t.default=class Module{constructor(){elementorCommon.debug.addURLToWatch("elementor-pro/assets"),$e.components.register(new g.default),h.default.addRoute({path:"/site-editor/*",component:SiteEditor})}}},6930:(e,t,n)=>{"use strict";var o=n(1594);Object.defineProperty(t,"__esModule",{value:!0}),t.SCREENSHOT_STATUS_SUCCEED=t.SCREENSHOT_STATUS_QUEUE=t.SCREENSHOT_STATUS_IN_PROGRESS=t.SCREENSHOT_STATUS_FAILED=void 0,t.default=function useScreenshot(e,{numberOfScreenshotInParallel:t}=p){const[n,o]=r([]),f=a((()=>filterPostByStatus(n,l)),[n]),m=a((()=>filterPostByStatus(n,u)),[n]),h=a((()=>filterPostByStatus(n,c)),[n]),g=a((()=>filterPostByStatus(n,d)),[n]);i((()=>{const t=e.filter((e=>!n.find((t=>t.id===e.id))));t.length&&o((e=>[...e,...normalizeInitialPosts(t)]))}),[e]);const v=function useIFrameMessageListener(e,t){return s((n=>{const{data:o}=n;if(!o.name||"capture-screenshot-done"!==o.name)return;const r=e.find((e=>e.id===parseInt(o.id)));r&&(r.iframe.remove(),t((e=>updatePostsAttrs(e,r.id,{status:o.success?c:d,imageUrl:o.imageUrl}))))}),[e])}(m,o);return i((()=>(window.addEventListener("message",v,!1),()=>{window.removeEventListener("message",v)})),[v]),i((()=>{if(0===f.length||m.length>=t)return;const[e]=f,n=function createScreenshotIframe(e){const t=document.createElement("iframe");return t.src=e.screenshot_url,t.width="1200",t.style="visibility: hidden;",document.body.appendChild(t),t}(e);o((t=>updatePostsAttrs(t,e.id,{status:u,iframe:n})))}),[n]),{posts:n,queue:f,inProgress:m,succeed:h,failed:g}};const{useState:r,useEffect:i,useMemo:a,useCallback:s}=o,l=t.SCREENSHOT_STATUS_QUEUE="queue",u=t.SCREENSHOT_STATUS_IN_PROGRESS="in-progress",c=t.SCREENSHOT_STATUS_SUCCEED="succeed",d=t.SCREENSHOT_STATUS_FAILED="failed",p={numberOfScreenshotInParallel:1};function filterPostByStatus(e,t){return e.filter((e=>t===e.status))}function normalizeInitialPosts(e){return e.map((e=>({id:e.id,screenshot_url:e.screenshot_url,status:"queue",iframe:null,imageUrl:null})))}function updatePostsAttrs(e,t,n={}){return e.map((e=>e.id!==t?e:{...e,...n}))}},8127:(e,t,n)=>{"use strict";var o="__global_unique_id__";e.exports=function(){return n.g[o]=(n.g[o]||0)+1}},2091:e=>{"use strict";e.exports=function(e,t,n,o,r,i,a,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,o,r,i,a,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},362:(e,t,n)=>{"use strict";var o=n(6441);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,e.exports=function(){function shim(e,t,n,r,i,a){if(a!==o){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function getShim(){return shim}shim.isRequired=shim;var e={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return e.PropTypes=e,e}},2688:(e,t,n)=>{e.exports=n(362)()},6441:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},567:e=>{"use strict";var warning=function(){};e.exports=warning},1594:e=>{"use strict";e.exports=React},5206:e=>{"use strict";e.exports=ReactDOM},7401:e=>{"use strict";e.exports=elementorAppPackages.appUi},8276:e=>{"use strict";e.exports=elementorAppPackages.hooks},7485:e=>{"use strict";e.exports=elementorAppPackages.router},858:e=>{"use strict";e.exports=elementorAppPackages.siteEditor},6956:e=>{"use strict";e.exports=elementorV2.ui},2470:e=>{"use strict";e.exports=wp.i18n},8304:e=>{function _extends(){return e.exports=_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},8120:(e,t,n)=>{"use strict";var o=n(1483),r=n(8761),i=TypeError;e.exports=function(e){if(o(e))return e;throw new i(r(e)+" is not a function")}},2293:(e,t,n)=>{"use strict";var o=n(1704),r=String,i=TypeError;e.exports=function(e){if(o(e))return e;throw new i(r(e)+" is not an object")}},6651:(e,t,n)=>{"use strict";var o=n(5599),r=n(3392),i=n(6960),createMethod=function(e){return function(t,n,a){var s=o(t),l=i(s);if(0===l)return!e&&-1;var u,c=r(a,l);if(e&&n!=n){for(;l>c;)if((u=s[c++])!=u)return!0}else for(;l>c;c++)if((e||c in s)&&s[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},9273:(e,t,n)=>{"use strict";var o=n(382),r=n(4914),i=TypeError,a=Object.getOwnPropertyDescriptor,s=o&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=s?function(e,t){if(r(e)&&!a(e,"length").writable)throw new i("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},1278:(e,t,n)=>{"use strict";var o=n(4762),r=o({}.toString),i=o("".slice);e.exports=function(e){return i(r(e),8,-1)}},6726:(e,t,n)=>{"use strict";var o=n(5755),r=n(9497),i=n(4961),a=n(5835);e.exports=function(e,t,n){for(var s=r(t),l=a.f,u=i.f,c=0;c{"use strict";var o=n(382),r=n(5835),i=n(7738);e.exports=o?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},7738:e=>{"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},7914:(e,t,n)=>{"use strict";var o=n(1483),r=n(5835),i=n(169),a=n(2095);e.exports=function(e,t,n,s){s||(s={});var l=s.enumerable,u=void 0!==s.name?s.name:t;if(o(n)&&i(n,u,s),s.global)l?e[t]=n:a(t,n);else{try{s.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=n:r.f(e,t,{value:n,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}},2095:(e,t,n)=>{"use strict";var o=n(5578),r=Object.defineProperty;e.exports=function(e,t){try{r(o,e,{value:t,configurable:!0,writable:!0})}catch(n){o[e]=t}return t}},382:(e,t,n)=>{"use strict";var o=n(8473);e.exports=!o((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},3145:(e,t,n)=>{"use strict";var o=n(5578),r=n(1704),i=o.document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},1091:e=>{"use strict";var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},4741:e=>{"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},9461:(e,t,n)=>{"use strict";var o=n(5578).navigator,r=o&&o.userAgent;e.exports=r?String(r):""},6477:(e,t,n)=>{"use strict";var o,r,i=n(5578),a=n(9461),s=i.process,l=i.Deno,u=s&&s.versions||l&&l.version,c=u&&u.v8;c&&(r=(o=c.split("."))[0]>0&&o[0]<4?1:+(o[0]+o[1])),!r&&a&&(!(o=a.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=a.match(/Chrome\/(\d+)/))&&(r=+o[1]),e.exports=r},8612:(e,t,n)=>{"use strict";var o=n(5578),r=n(4961).f,i=n(9037),a=n(7914),s=n(2095),l=n(6726),u=n(8730);e.exports=function(e,t){var n,c,d,p,f,m=e.target,h=e.global,g=e.stat;if(n=h?o:g?o[m]||s(m,{}):o[m]&&o[m].prototype)for(c in t){if(p=t[c],d=e.dontCallGetSet?(f=r(n,c))&&f.value:n[c],!u(h?c:m+(g?".":"#")+c,e.forced)&&void 0!==d){if(typeof p==typeof d)continue;l(p,d)}(e.sham||d&&d.sham)&&i(p,"sham",!0),a(n,c,p,e)}}},8473:e=>{"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},274:(e,t,n)=>{"use strict";var o=n(8473);e.exports=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},1807:(e,t,n)=>{"use strict";var o=n(274),r=Function.prototype.call;e.exports=o?r.bind(r):function(){return r.apply(r,arguments)}},2048:(e,t,n)=>{"use strict";var o=n(382),r=n(5755),i=Function.prototype,a=o&&Object.getOwnPropertyDescriptor,s=r(i,"name"),l=s&&"something"===function something(){}.name,u=s&&(!o||o&&a(i,"name").configurable);e.exports={EXISTS:s,PROPER:l,CONFIGURABLE:u}},4762:(e,t,n)=>{"use strict";var o=n(274),r=Function.prototype,i=r.call,a=o&&r.bind.bind(i,i);e.exports=o?a:function(e){return function(){return i.apply(e,arguments)}}},1409:(e,t,n)=>{"use strict";var o=n(5578),r=n(1483);e.exports=function(e,t){return arguments.length<2?(n=o[e],r(n)?n:void 0):o[e]&&o[e][t];var n}},2564:(e,t,n)=>{"use strict";var o=n(8120),r=n(5983);e.exports=function(e,t){var n=e[t];return r(n)?void 0:o(n)}},5578:function(e,t,n){"use strict";var check=function(e){return e&&e.Math===Math&&e};e.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof n.g&&n.g)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},5755:(e,t,n)=>{"use strict";var o=n(4762),r=n(2347),i=o({}.hasOwnProperty);e.exports=Object.hasOwn||function hasOwn(e,t){return i(r(e),t)}},1507:e=>{"use strict";e.exports={}},1799:(e,t,n)=>{"use strict";var o=n(382),r=n(8473),i=n(3145);e.exports=!o&&!r((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},2121:(e,t,n)=>{"use strict";var o=n(4762),r=n(8473),i=n(1278),a=Object,s=o("".split);e.exports=r((function(){return!a("z").propertyIsEnumerable(0)}))?function(e){return"String"===i(e)?s(e,""):a(e)}:a},7268:(e,t,n)=>{"use strict";var o=n(4762),r=n(1483),i=n(1831),a=o(Function.toString);r(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},4483:(e,t,n)=>{"use strict";var o,r,i,a=n(4644),s=n(5578),l=n(1704),u=n(9037),c=n(5755),d=n(1831),p=n(5409),f=n(1507),m="Object already initialized",h=s.TypeError,g=s.WeakMap;if(a||d.state){var v=d.state||(d.state=new g);v.get=v.get,v.has=v.has,v.set=v.set,o=function(e,t){if(v.has(e))throw new h(m);return t.facade=e,v.set(e,t),t},r=function(e){return v.get(e)||{}},i=function(e){return v.has(e)}}else{var b=p("state");f[b]=!0,o=function(e,t){if(c(e,b))throw new h(m);return t.facade=e,u(e,b,t),t},r=function(e){return c(e,b)?e[b]:{}},i=function(e){return c(e,b)}}e.exports={set:o,get:r,has:i,enforce:function(e){return i(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw new h("Incompatible receiver, "+e+" required");return n}}}},4914:(e,t,n)=>{"use strict";var o=n(1278);e.exports=Array.isArray||function isArray(e){return"Array"===o(e)}},1483:e=>{"use strict";var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},8730:(e,t,n)=>{"use strict";var o=n(8473),r=n(1483),i=/#|\.prototype\./,isForced=function(e,t){var n=s[a(e)];return n===u||n!==l&&(r(t)?o(t):!!t)},a=isForced.normalize=function(e){return String(e).replace(i,".").toLowerCase()},s=isForced.data={},l=isForced.NATIVE="N",u=isForced.POLYFILL="P";e.exports=isForced},5983:e=>{"use strict";e.exports=function(e){return null==e}},1704:(e,t,n)=>{"use strict";var o=n(1483);e.exports=function(e){return"object"==typeof e?null!==e:o(e)}},9557:e=>{"use strict";e.exports=!1},1423:(e,t,n)=>{"use strict";var o=n(1409),r=n(1483),i=n(4815),a=n(5022),s=Object;e.exports=a?function(e){return"symbol"==typeof e}:function(e){var t=o("Symbol");return r(t)&&i(t.prototype,s(e))}},6960:(e,t,n)=>{"use strict";var o=n(8324);e.exports=function(e){return o(e.length)}},169:(e,t,n)=>{"use strict";var o=n(4762),r=n(8473),i=n(1483),a=n(5755),s=n(382),l=n(2048).CONFIGURABLE,u=n(7268),c=n(4483),d=c.enforce,p=c.get,f=String,m=Object.defineProperty,h=o("".slice),g=o("".replace),v=o([].join),b=s&&!r((function(){return 8!==m((function(){}),"length",{value:8}).length})),y=String(String).split("String"),_=e.exports=function(e,t,n){"Symbol("===h(f(t),0,7)&&(t="["+g(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!a(e,"name")||l&&e.name!==t)&&(s?m(e,"name",{value:t,configurable:!0}):e.name=t),b&&n&&a(n,"arity")&&e.length!==n.arity&&m(e,"length",{value:n.arity});try{n&&a(n,"constructor")&&n.constructor?s&&m(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var o=d(e);return a(o,"source")||(o.source=v(y,"string"==typeof t?t:"")),e};Function.prototype.toString=_((function toString(){return i(this)&&p(this).source||u(this)}),"toString")},1703:e=>{"use strict";var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function trunc(e){var o=+e;return(o>0?n:t)(o)}},5835:(e,t,n)=>{"use strict";var o=n(382),r=n(1799),i=n(3896),a=n(2293),s=n(3815),l=TypeError,u=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d="enumerable",p="configurable",f="writable";t.f=o?i?function defineProperty(e,t,n){if(a(e),t=s(t),a(n),"function"==typeof e&&"prototype"===t&&"value"in n&&f in n&&!n[f]){var o=c(e,t);o&&o[f]&&(e[t]=n.value,n={configurable:p in n?n[p]:o[p],enumerable:d in n?n[d]:o[d],writable:!1})}return u(e,t,n)}:u:function defineProperty(e,t,n){if(a(e),t=s(t),a(n),r)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw new l("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},4961:(e,t,n)=>{"use strict";var o=n(382),r=n(1807),i=n(7611),a=n(7738),s=n(5599),l=n(3815),u=n(5755),c=n(1799),d=Object.getOwnPropertyDescriptor;t.f=o?d:function getOwnPropertyDescriptor(e,t){if(e=s(e),t=l(t),c)try{return d(e,t)}catch(e){}if(u(e,t))return a(!r(i.f,e,t),e[t])}},2278:(e,t,n)=>{"use strict";var o=n(6742),r=n(4741).concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return o(e,r)}},4347:(e,t)=>{"use strict";t.f=Object.getOwnPropertySymbols},4815:(e,t,n)=>{"use strict";var o=n(4762);e.exports=o({}.isPrototypeOf)},6742:(e,t,n)=>{"use strict";var o=n(4762),r=n(5755),i=n(5599),a=n(6651).indexOf,s=n(1507),l=o([].push);e.exports=function(e,t){var n,o=i(e),u=0,c=[];for(n in o)!r(s,n)&&r(o,n)&&l(c,n);for(;t.length>u;)r(o,n=t[u++])&&(~a(c,n)||l(c,n));return c}},7611:(e,t)=>{"use strict";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,r=o&&!n.call({1:2},1);t.f=r?function propertyIsEnumerable(e){var t=o(this,e);return!!t&&t.enumerable}:n},348:(e,t,n)=>{"use strict";var o=n(1807),r=n(1483),i=n(1704),a=TypeError;e.exports=function(e,t){var n,s;if("string"===t&&r(n=e.toString)&&!i(s=o(n,e)))return s;if(r(n=e.valueOf)&&!i(s=o(n,e)))return s;if("string"!==t&&r(n=e.toString)&&!i(s=o(n,e)))return s;throw new a("Can't convert object to primitive value")}},9497:(e,t,n)=>{"use strict";var o=n(1409),r=n(4762),i=n(2278),a=n(4347),s=n(2293),l=r([].concat);e.exports=o("Reflect","ownKeys")||function ownKeys(e){var t=i.f(s(e)),n=a.f;return n?l(t,n(e)):t}},3312:(e,t,n)=>{"use strict";var o=n(5983),r=TypeError;e.exports=function(e){if(o(e))throw new r("Can't call method on "+e);return e}},5409:(e,t,n)=>{"use strict";var o=n(7255),r=n(1866),i=o("keys");e.exports=function(e){return i[e]||(i[e]=r(e))}},1831:(e,t,n)=>{"use strict";var o=n(9557),r=n(5578),i=n(2095),a="__core-js_shared__",s=e.exports=r[a]||i(a,{});(s.versions||(s.versions=[])).push({version:"3.38.1",mode:o?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})},7255:(e,t,n)=>{"use strict";var o=n(1831);e.exports=function(e,t){return o[e]||(o[e]=t||{})}},6029:(e,t,n)=>{"use strict";var o=n(6477),r=n(8473),i=n(5578).String;e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol("symbol detection");return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},3392:(e,t,n)=>{"use strict";var o=n(3005),r=Math.max,i=Math.min;e.exports=function(e,t){var n=o(e);return n<0?r(n+t,0):i(n,t)}},5599:(e,t,n)=>{"use strict";var o=n(2121),r=n(3312);e.exports=function(e){return o(r(e))}},3005:(e,t,n)=>{"use strict";var o=n(1703);e.exports=function(e){var t=+e;return t!=t||0===t?0:o(t)}},8324:(e,t,n)=>{"use strict";var o=n(3005),r=Math.min;e.exports=function(e){var t=o(e);return t>0?r(t,9007199254740991):0}},2347:(e,t,n)=>{"use strict";var o=n(3312),r=Object;e.exports=function(e){return r(o(e))}},2355:(e,t,n)=>{"use strict";var o=n(1807),r=n(1704),i=n(1423),a=n(2564),s=n(348),l=n(1),u=TypeError,c=l("toPrimitive");e.exports=function(e,t){if(!r(e)||i(e))return e;var n,l=a(e,c);if(l){if(void 0===t&&(t="default"),n=o(l,e,t),!r(n)||i(n))return n;throw new u("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},3815:(e,t,n)=>{"use strict";var o=n(2355),r=n(1423);e.exports=function(e){var t=o(e,"string");return r(t)?t:t+""}},8761:e=>{"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},1866:(e,t,n)=>{"use strict";var o=n(4762),r=0,i=Math.random(),a=o(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+a(++r+i,36)}},5022:(e,t,n)=>{"use strict";var o=n(6029);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3896:(e,t,n)=>{"use strict";var o=n(382),r=n(8473);e.exports=o&&r((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4644:(e,t,n)=>{"use strict";var o=n(5578),r=n(1483),i=o.WeakMap;e.exports=r(i)&&/native code/.test(String(i))},1:(e,t,n)=>{"use strict";var o=n(5578),r=n(7255),i=n(5755),a=n(1866),s=n(6029),l=n(5022),u=o.Symbol,c=r("wks"),d=l?u.for||u:u&&u.withoutSetter||a;e.exports=function(e){return i(c,e)||(c[e]=s&&i(u,e)?u[e]:d("Symbol."+e)),c[e]}},5724:(e,t,n)=>{"use strict";var o=n(8612),r=n(2347),i=n(6960),a=n(9273),s=n(1091);o({target:"Array",proto:!0,arity:1,forced:n(8473)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function push(e){var t=r(this),n=i(t),o=arguments.length;s(n+o);for(var l=0;l{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=__webpack_require__(6784),t=e(__webpack_require__(2808)),n=e(__webpack_require__(1052));new t.default,new n.default})()})();.kt-block-spacer{position:relative;height:60px}.kt-block-spacer .kt-divider{width:100%;border-top:solid 1px #eee;position:absolute;top:50%;left:50%;margin:0;padding:0;border-bottom:0;border-left:0;border-right:0;transform:perspective(1px) translate(-50%, -50%)}.kt-divider-stripe{width:100%;border:0;position:absolute;top:50%;margin:0;height:20px;padding:0;left:50%;transform:perspective(1px) translate(-50%, -50%)}.kt-block-spacer.kt-block-spacer-halign-left .kt-divider,.kt-block-spacer.kt-block-spacer-halign-left .kt-divider-stripe{left:0;transform:perspective(1px) translate(0%, -50%)}.kt-block-spacer.kt-block-spacer-halign-right .kt-divider,.kt-block-spacer.kt-block-spacer-halign-right .kt-divider-stripe{left:auto;right:0;transform:perspective(1px) translate(0%, -50%)}.kt-divider-stripe .kb-stripes-svg{position:absolute;top:0;left:0;right:0}.wp-block-kadence-spacer.aligncenter{width:100%}@media(max-width: 1024px){.kt-block-spacer.kt-block-spacer-thalign-center .kt-divider,.kt-block-spacer.kt-block-spacer-thalign-center .kt-divider-stripe{left:50%;right:auto;transform:perspective(1px) translate(-50%, -50%)}.kt-block-spacer.kt-block-spacer-thalign-left .kt-divider,.kt-block-spacer.kt-block-spacer-thalign-left .kt-divider-stripe{left:0;transform:perspective(1px) translate(0%, -50%)}.kt-block-spacer.kt-block-spacer-thalign-right .kt-divider,.kt-block-spacer.kt-block-spacer-thalign-right .kt-divider-stripe{left:auto;right:0;transform:perspective(1px) translate(0%, -50%)}}@media(max-width: 767px){.kt-block-spacer.kt-block-spacer-malign-center .kt-divider,.kt-block-spacer.kt-block-spacer-malign-center .kt-divider-stripe{left:50%;right:auto;transform:perspective(1px) translate(-50%, -50%)}.kt-block-spacer.kt-block-spacer-malign-left .kt-divider,.kt-block-spacer.kt-block-spacer-malign-left .kt-divider-stripe{left:0;transform:perspective(1px) translate(0%, -50%)}.kt-block-spacer.kt-block-spacer-malign-right .kt-divider,.kt-block-spacer.kt-block-spacer-malign-right .kt-divider-stripe{left:auto;right:0;transform:perspective(1px) translate(0%, -50%)}}@media(max-width: 767px){.kvs-sm-false{display:none !important}}@media(min-width: 768px)and (max-width: 1024px){.kvs-md-false{display:none !important}}@media screen and (min-width: 1025px){.kvs-lg-false{display:none !important}} .elementor-animation-shrink { transition-duration: 0.3s; transition-property: transform; } .elementor-animation-shrink:active, .elementor-animation-shrink:focus, .elementor-animation-shrink:hover { transform: scale(0.9); } /* reset.css */ /* Comment out/delete the reset rules where appropriate */ /* container */ .elfinder, /* toolbar */ .elfinder .elfinder-toolbar, .elfinder .elfinder-buttonset, .elfinder .elfinder-button, .elfinder .elfinder-toolbar-button-separator, .elfinder .elfinder-toolbar input, /* navbar */ .elfinder .elfinder-navbar, .elfinder .elfinder-navbar *, /* current working directory */ .elfinder .elfinder-cwd, .elfinder .elfinder-cwd table tr td.ui-state-active, .elfinder .elfinder-cwd table tr td.ui-state-hover, .elfinder .elfinder-cwd table tr td.ui-state-selected, .elfinder .elfinder-cwd table thead tr, .elfinder .elfinder-cwd table tbody tr, .elfinder .elfinder-cwd-file .ui-state-hover, .elfinder .elfinder-cwd-file .elfinder-cwd-icon-directory, .elfinder .elfinder-cwd-file .elfinder-cwd-filename, .elfinder .elfinder-cwd-file .elfinder-cwd-filename.ui-state-hover, /* general states */ .elfinder .ui-state-default, .elfinder .ui-state-active, .elfinder .ui-state-hover, .elfinder .ui-selected, /* ui-widgets (normally for dialogs) */ .elfinder .ui-widget, .elfinder .ui-widget-header, .elfinder .ui-widget-content, /* icons */ .elfinder-button-icon, .elfinder-navbar-icon, .elfinder-cwd-icon-directory, .elfinder .ui-icon, /* statusbar */ .elfinder .elfinder-statusbar, .elfinder .elfinder-statusbar *, /* context menu (outside of elfinder div */ .elfinder-contextmenu, .elfinder-contextmenu-sub, .elfinder-contextmenu-item, .elfinder-contextmenu-separator, .elfinder-contextmenu .ui-state-hover { background: none; border: none; } /** * Class to Build the Query Filter Date Block. * * @package Kadence Blocks */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class to Build the Query No Results Block. * * @category class */ class Kadence_Blocks_Pro_Filter_Date_Block extends Kadence_Blocks_Query_Children_Block { /** * Instance of this class * * @var null */ private static $instance = null; /** * Block name within this namespace. * * @var string */ protected $block_name = 'filter-date'; /** * Instance Control */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Builds CSS for block. * * @param array $attributes the blocks attributes. * @param string $css the css class for blocks. * @param string $unique_id the blocks attr ID. * @param string $unique_style_id the blocks alternate ID for queries. */ public function build_css( $attributes, $css, $unique_id, $unique_style_id ) { $css->set_style_id( 'kb-' . $this->block_name . $unique_style_id ); $css->set_selector( 'body .wp-block-kadence-query.wp-block-kadence-query .wp-block-kadence-query-filter-date' . $unique_id . ' .kb-filter-date' ); $css->render_measure_output( $attributes, 'padding', 'padding', array( 'unit_key' => 'paddingUnit' ) ); $css->render_measure_output( $attributes, 'margin', 'margin', array( 'unit_key' => 'marginUnit' ) ); $css->render_border_styles( $attributes, 'borderStyle' ); $css->render_measure_output( $attributes, 'borderRadius', 'border-radius', array( 'unit_key' => 'borderRadiusUnit' ) ); $css->render_typography( $attributes, 'typography' ); // Colors. if ( ! empty( $attributes['backgroundType'] ) && 'gradient' == $attributes['backgroundType'] && ! empty( $attributes['gradient'] ) ) { $css->add_property( 'background', $attributes['gradient'] ); } elseif ( ! empty( $attributes['background'] ) ) { $css->render_color_output( $attributes, 'background', 'background' ); } if ( ! empty( $attributes['color'] ) ) { $css->render_color_output( $attributes, 'color', 'color' ); } return $css->css_output(); } /** * Return dynamically generated HTML for block * * @param array $attributes The attributes. * @param string $unique_id The unique id. * @param string $content The content. * @param WP_Block $block_instance The instance of the WP_Block class that represents the block being rendered. * * @return string */ public function build_html( $attributes, $unique_id, $content, $block_instance ) { $data = $this->do_query(); $hash = $this->get_hash_from_unique_id( $unique_id ); $date_format = ( ! empty( $attributes['dateFormat'] ) ? $attributes['dateFormat'] : '' ); $outer_classes = array( 'kadence-query-filter', 'wp-block-kadence-query-filter-date' . $unique_id, ); $wrapper_args = array( 'class' => implode( ' ', $outer_classes ), 'data-uniqueid' => $unique_id, 'data-hash' => $hash, 'data-date-format' => $date_format, ); if ( ! empty( $attributes['anchor'] ) ) { $wrapper_args['id'] = $attributes['anchor']; } $wrapper_attributes = get_block_wrapper_attributes( $wrapper_args ); $label_html = $this->get_label_html( $attributes ); $filters = $data && ! empty( $data['filters'] ) ? $data['filters'][ $unique_id ] : ''; return sprintf( '
%s%s
', $wrapper_attributes, $label_html, $filters ); } } Kadence_Blocks_Pro_Filter_Date_Block::get_instance(); /** * Class to Build the Query Filter Range Block. * * @package Kadence Blocks */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class to Build the Query No Results Block. * * @category class */ class Kadence_Blocks_Pro_Filter_Range_Block extends Kadence_Blocks_Query_Children_Block { /** * Instance of this class * * @var null */ private static $instance = null; /** * Block name within this namespace. * * @var string */ protected $block_name = 'filter-range'; /** * Instance Control */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Builds CSS for block. * * @param array $attributes the blocks attributes. * @param string $css the css class for blocks. * @param string $unique_id the blocks attr ID. * @param string $unique_style_id the blocks alternate ID for queries. */ public function build_css( $attributes, $css, $unique_id, $unique_style_id ) { $css->set_style_id( 'kb-' . $this->block_name . $unique_style_id ); $css->set_selector( 'body .wp-block-kadence-query.wp-block-kadence-query .wp-block-kadence-query-filter-range' . $unique_id . ' .range-options' ); $css->render_measure_output( $attributes, 'padding', 'padding', array( 'unit_key' => 'paddingUnit' ) ); $css->render_measure_output( $attributes, 'margin', 'margin', array( 'unit_key' => 'marginUnit' ) ); $css->render_border_styles( $attributes, 'borderStyle' ); $css->render_measure_output( $attributes, 'borderRadius', 'border-radius', array( 'unit_key' => 'borderRadiusUnit' ) ); $css->render_typography( $attributes, 'typography' ); $css->set_selector( 'body .wp-block-kadence-query.wp-block-kadence-query .wp-block-kadence-query-filter-range' . $unique_id . ' .sliders_control input[type="range"]::-webkit-slider-thumb, body .wp-block-kadence-query.wp-block-kadence-query .wp-block-kadence-query-filter-range' . $unique_id . ' .sliders_control input[type="range"]::-webkit-slider-thumb:active' ); if ( ! empty( $attributes['sliderHighlightColor'] ) ) { $css->add_property( 'box-shadow', '0 0 0 2px ' . $css->sanitize_color( $attributes['sliderHighlightColor'] ) ); $css->add_property( '-webkit-box-shadow', '0 0 0 2px ' . $css->sanitize_color( $attributes['sliderHighlightColor'] ) ); } else { $css->add_property( 'box-shadow', '0 0 0 2px var(--global-palette-2, #2F2FFC)' ); } $css->set_selector( 'body .wp-block-kadence-query.wp-block-kadence-query .wp-block-kadence-query-filter-range' . $unique_id . ' .range-options' ); // Colors. if ( ! empty( $attributes['backgroundType'] ) && 'gradient' == $attributes['backgroundType'] && ! empty( $attributes['gradient'] ) ) { $css->add_property( 'background', $attributes['gradient'] ); } elseif ( ! empty( $attributes['background'] ) ) { $css->render_color_output( $attributes, 'background', 'background' ); } $css->set_selector( 'body .wp-block-kadence-query.wp-block-kadence-query .wp-block-kadence-query-filter-range' . $unique_id . ' .range-options label' ); if ( ! empty( $attributes['color'] ) ) { $css->render_color_output( $attributes, 'color', 'color' ); } return $css->css_output(); } /** * Return dynamically generated HTML for block * * @param array $attributes The attributes. * @param string $unique_id The unique id. * @param string $content The content. * @param WP_Block $block_instance The instance of the WP_Block class that represents the block being rendered. * * @return string */ public function build_html( $attributes, $unique_id, $content, $block_instance ) { $data = $this->do_query(); $hash = $this->get_hash_from_unique_id( $unique_id ); $type = ! empty( $attributes['type'] ) ? $attributes['type'] : 'fields'; $slider_values_type = ! empty( $attributes['sliderValuesType'] ) ? $attributes['sliderValuesType'] : 'below'; $outer_classes = array( 'kadence-query-filter', 'wp-block-kadence-query-filter-range' . $unique_id, ); $wrapper_args = array( 'class' => implode( ' ', $outer_classes ), 'data-uniqueid' => $unique_id, 'data-hash' => $hash, 'data-type' => $type, 'data-slider-values-type' => $slider_values_type, ); if ( ! empty( $attributes['anchor'] ) ) { $wrapper_args['id'] = $attributes['anchor']; } $wrapper_attributes = get_block_wrapper_attributes( $wrapper_args ); $label_html = $this->get_label_html( $attributes ); $filters = $data && ! empty( $data['filters'] ) ? $data['filters'][ $unique_id ] : ''; return sprintf( '
%s
%s
', $wrapper_attributes, $label_html, $filters ); } } Kadence_Blocks_Pro_Filter_Range_Block::get_instance(); /** * Result Count Updater Class * * @package Kadence Blocks Pro */ namespace KadenceWP\KadenceBlocksPro\Query\Frontend_Filters; /** * Updates result counts for filter options */ class Result_Count_Updater { /** * Options builder instance * * @var Options_Builder */ private $options_builder; /** * Constructor * * @param Options_Builder $options_builder Options builder. */ public function __construct( Options_Builder $options_builder ) { $this->options_builder = $options_builder; } /** * Update result counts for options array * * @param array $options_array Options array to update. * @param array $config Configuration for building new options. * @param array $object_ids Object IDs for the query. * @param string $hash Filter hash. * @param string $lang Language code. * @param bool $hide_when_empty Hide options with zero count. */ public function update_counts( array &$options_array, array $config, $object_ids, $hash, $lang, $hide_when_empty = false ) { // Build fresh options with actual counts $new_options_array = $this->options_builder->build( $config, $object_ids, $hash, $lang ); // Update the counts in the original array $options_array = $this->update_options_array_counts( $options_array, $new_options_array, $hide_when_empty ); } /** * Update options array with new counts * * @param array $options_array Original options array. * @param array $new_options_array New options array with updated counts. * @param bool $hide_when_empty Hide options with zero count. * @return array */ private function update_options_array_counts( array $options_array, array $new_options_array, $hide_when_empty = false ) { $updated_options_array = array(); // Create a map of the new options by value $new_options_map = array(); foreach ( $new_options_array as $new_option ) { $new_options_map[ $new_option['value'] ] = $new_option; } foreach ( $options_array as $item ) { $updated_item = $item; if ( isset( $new_options_map[ $item['value'] ] ) ) { // Update label and count from new data $updated_item['label'] = $new_options_map[ $item['value'] ]['label']; $updated_item['count'] = $new_options_map[ $item['value'] ]['count']; } else { // Item not found in new results, set count to 0 $updated_item['count'] = 0; // Update label to show (0) if it had a count before $updated_item['label'] = preg_replace( '/\(\d+\)/', '(0)', $item['label'] ); } // Handle children recursively if ( isset( $item['children'] ) && ! empty( $item['children'] ) ) { $new_children = isset( $new_options_map[ $item['value'] ] ) && isset( $new_options_map[ $item['value'] ]['children'] ) ? $new_options_map[ $item['value'] ]['children'] : array(); $updated_item['children'] = $this->update_options_array_counts( $item['children'], $new_children, $hide_when_empty ); // Skip this item if hiding empty and it has no count and no children if ( $hide_when_empty && $updated_item['count'] == 0 && empty( $updated_item['children'] ) ) { continue; } } elseif ( $hide_when_empty && $updated_item['count'] == 0 ) { // Skip items with zero count when hiding empty continue; } $updated_options_array[] = $updated_item; } return $updated_options_array; } /** * Get object IDs for a query * * @param array $query_args Query arguments. * @param string $block_name Block name. * @param int $meta_offset Meta offset. * @param bool $inherit Whether to inherit from main query. * @param mixed $query_builder Query builder instance. * @param string $hash Filter hash. * @return array */ public function get_object_ids( $query_args, $block_name, $meta_offset = 0, $inherit = false, $query_builder = null, $hash = '' ) { // Delegate to shared resolver with default single-select filters return Object_IDs_Resolver::resolve( $query_args, $block_name, $meta_offset, (bool) $inherit, array( 'kadence/query-filter' ), $query_builder, $hash ); } } /*! elementor - v3.23.0 - 05-08-2024 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/@elementor/query/dist/index.js": /*!******************************************************!*\ !*** ../node_modules/@elementor/query/dist/index.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { QueryClient: () => import_react_query2.QueryClient, QueryClientProvider: () => import_react_query2.QueryClientProvider, createQueryClient: () => createQueryClient, useInfiniteQuery: () => import_react_query2.useInfiniteQuery, useMutation: () => import_react_query2.useMutation, useQuery: () => import_react_query2.useQuery, useQueryClient: () => import_react_query2.useQueryClient }); module.exports = __toCommonJS(src_exports); var import_react_query = __webpack_require__(/*! @tanstack/react-query */ "../node_modules/@tanstack/react-query/build/modern/index.cjs"); var import_react_query2 = __webpack_require__(/*! @tanstack/react-query */ "../node_modules/@tanstack/react-query/build/modern/index.cjs"); function createQueryClient() { return new import_react_query.QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, refetchOnReconnect: false } } }); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=index.js.map /***/ }), /***/ "../assets/dev/js/utils/react.js": /*!***************************************!*\ !*** ../assets/dev/js/utils/react.js ***! \***************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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 React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom")); var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.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; } /** * Support conditional rendering of a React App to the DOM, based on the React version. * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions. * * @param { React.ReactElement } app The app to render. * @param { HTMLElement } domElement The DOM element to render the app into. * * @return {{ unmount: () => void }} The unmount function. */ function render(app, domElement) { var unmountFunction; try { var root = (0, _client.createRoot)(domElement); root.render(app); unmountFunction = function unmountFunction() { root.unmount(); }; } catch (e) { // eslint-disable-next-line react/no-deprecated ReactDOM.render(app, domElement); unmountFunction = function unmountFunction() { // eslint-disable-next-line react/no-deprecated ReactDOM.unmountComponentAtNode(domElement); }; } return { unmount: unmountFunction }; } var _default = { render: render }; exports["default"] = _default; /***/ }), /***/ "../modules/notifications/assets/js/api/index.js": /*!*******************************************************!*\ !*** ../modules/notifications/assets/js/api/index.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getNotifications = void 0; var request = function request(endpoint) { var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { elementorCommon.ajax.addRequest(endpoint, { success: resolve, error: reject, data: data }); }); }; var getNotifications = function getNotifications() { return request('notifications_get'); }; exports.getNotifications = getNotifications; /***/ }), /***/ "../modules/notifications/assets/js/components/editor-drawer.js": /*!**********************************************************************!*\ !*** ../modules/notifications/assets/js/components/editor-drawer.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); 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.EditorDrawer = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _whatsNew = __webpack_require__(/*! ./whats-new */ "../modules/notifications/assets/js/components/whats-new.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; } var EditorDrawer = function EditorDrawer(_ref) { var _ref$anchorPosition = _ref.anchorPosition, anchorPosition = _ref$anchorPosition === void 0 ? 'left' : _ref$anchorPosition; var _useState = (0, _react.useState)(true), _useState2 = (0, _slicedToArray2.default)(_useState, 2), isOpen = _useState2[0], setIsOpen = _useState2[1]; (0, _react.useEffect)(function () { elementor.on('elementor/editor/panel/whats-new/clicked', function () { return setIsOpen(true); }); }, []); return /*#__PURE__*/_react.default.createElement(_whatsNew.WhatsNew, { isOpen: isOpen, setIsOpen: setIsOpen, setIsRead: function setIsRead() { return document.body.classList.remove('e-has-notification'); }, anchorPosition: anchorPosition }); }; exports.EditorDrawer = EditorDrawer; EditorDrawer.propTypes = { anchorPosition: PropTypes.oneOf(['left', 'top', 'right', 'bottom']) }; /***/ }), /***/ "../modules/notifications/assets/js/components/editor-on-button-clicked.js": /*!*********************************************************************************!*\ !*** ../modules/notifications/assets/js/components/editor-on-button-clicked.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.editorOnButtonClicked = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js")); var _editorDrawer = __webpack_require__(/*! ./editor-drawer */ "../modules/notifications/assets/js/components/editor-drawer.js"); var isRendered = false; var editorOnButtonClicked = function editorOnButtonClicked() { var anchorPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'left'; if (!isRendered) { isRendered = true; var container = document.createElement('div'); document.body.append(container); _react2.default.render( /*#__PURE__*/_react.default.createElement(_editorDrawer.EditorDrawer, { anchorPosition: anchorPosition }), container); return; } elementor.trigger('elementor/editor/panel/whats-new/clicked'); }; exports.editorOnButtonClicked = editorOnButtonClicked; /***/ }), /***/ "../modules/notifications/assets/js/components/editor-v1.js": /*!******************************************************************!*\ !*** ../modules/notifications/assets/js/components/editor-v1.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.editorV1 = void 0; var _editorOnButtonClicked = __webpack_require__(/*! ./editor-on-button-clicked */ "../modules/notifications/assets/js/components/editor-on-button-clicked.js"); var editorV1 = function editorV1() { elementor.on('panel:init', function () { if (elementorNotifications.is_unread) { document.body.classList.add('e-has-notification'); } elementor.getPanelView().getPages('menu').view.addItem({ name: 'notification-center', icon: 'eicon-notification', title: __('What\'s New', 'elementor'), callback: _editorOnButtonClicked.editorOnButtonClicked }, 'navigate_from_page', 'view-page'); }); }; exports.editorV1 = editorV1; /***/ }), /***/ "../modules/notifications/assets/js/components/editor-v2.js": /*!******************************************************************!*\ !*** ../modules/notifications/assets/js/components/editor-v2.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); 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.editorV2 = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _giftIcon = __webpack_require__(/*! ../icons/gift-icon */ "../modules/notifications/assets/js/icons/gift-icon.js"); var _editorOnButtonClicked = __webpack_require__(/*! ./editor-on-button-clicked */ "../modules/notifications/assets/js/components/editor-on-button-clicked.js"); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 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; } var IconWithBadge = function IconWithBadge(_ref) { var invisible = _ref.invisible; return /*#__PURE__*/_react.default.createElement(_ui.Badge, { color: "primary", variant: "dot", invisible: invisible }, /*#__PURE__*/_react.default.createElement(_giftIcon.GiftIcon, null)); }; IconWithBadge.propTypes = { invisible: PropTypes.bool }; var editorV2 = function editorV2() { var utilitiesMenu = window.elementorV2.editorAppBar.utilitiesMenu; utilitiesMenu.registerLink({ id: 'app-bar-menu-item-whats-new', priority: 25, useProps: function useProps() { var _useState = (0, _react.useState)(!elementorNotifications.is_unread), _useState2 = (0, _slicedToArray2.default)(_useState, 2), isRead = _useState2[0], setIsRead = _useState2[1]; return { title: (0, _i18n.__)("What's New", 'elementor'), icon: function icon() { return /*#__PURE__*/_react.default.createElement(IconWithBadge, { invisible: isRead }); }, onClick: function onClick() { elementor.editorEvents.dispatchEvent(elementor.editorEvents.config.names.topBar.whatsNew, { location: elementor.editorEvents.config.locations.topBar, secondaryLocation: elementor.editorEvents.config.secondaryLocations['whats-new'], trigger: elementor.editorEvents.config.triggers.click, element: elementor.editorEvents.config.elements.buttonIcon }); setIsRead(true); elementorNotifications.is_unread = false; (0, _editorOnButtonClicked.editorOnButtonClicked)('right'); } }; } }); }; exports.editorV2 = editorV2; /***/ }), /***/ "../modules/notifications/assets/js/components/whats-new-drawer-content.js": /*!*********************************************************************************!*\ !*** ../modules/notifications/assets/js/components/whats-new-drawer-content.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.WhatsNewDrawerContent = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _query = __webpack_require__(/*! @elementor/query */ "../node_modules/@elementor/query/dist/index.js"); var _api = __webpack_require__(/*! ../api */ "../modules/notifications/assets/js/api/index.js"); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _whatsNewItem = __webpack_require__(/*! ./whats-new-item */ "../modules/notifications/assets/js/components/whats-new-item.js"); var WhatsNewDrawerContent = function WhatsNewDrawerContent() { var _useQuery = (0, _query.useQuery)({ queryKey: ['e-notifications'], queryFn: _api.getNotifications }), isPending = _useQuery.isPending, error = _useQuery.error, items = _useQuery.data; if (isPending) { return /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, { color: "secondary" })); } if (error) { return /*#__PURE__*/_react.default.createElement(_ui.Box, null, "An error has occurred: ", error); } return items.map(function (item, itemIndex) { return /*#__PURE__*/_react.default.createElement(_whatsNewItem.WhatsNewItem, { key: itemIndex, item: item, itemIndex: itemIndex, itemsLength: items.length }); }); }; exports.WhatsNewDrawerContent = WhatsNewDrawerContent; /***/ }), /***/ "../modules/notifications/assets/js/components/whats-new-item-chips.js": /*!*****************************************************************************!*\ !*** ../modules/notifications/assets/js/components/whats-new-item-chips.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WhatsNewItemChips = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var WhatsNewItemChips = function WhatsNewItemChips(_ref) { var chipPlan = _ref.chipPlan, chipTags = _ref.chipTags, itemIndex = _ref.itemIndex; var chips = []; if (chipPlan) { chips.push({ color: 'promotion', size: 'small', label: chipPlan }); } if (chipTags) { chipTags.forEach(function (chipTag) { chips.push({ variant: 'outlined', size: 'small', label: chipTag }); }); } if (!chips.length) { return null; } return /*#__PURE__*/_react.default.createElement(_ui.Stack, { direction: "row", flexWrap: "wrap", gap: 1, sx: { pb: 1 } }, chips.map(function (chip, chipIndex) { return /*#__PURE__*/_react.default.createElement(_ui.Chip, (0, _extends2.default)({ key: "chip-".concat(itemIndex).concat(chipIndex) }, chip)); })); }; exports.WhatsNewItemChips = WhatsNewItemChips; WhatsNewItemChips.propTypes = { chipPlan: PropTypes.string, chipTags: PropTypes.array, itemIndex: PropTypes.number.isRequired }; /***/ }), /***/ "../modules/notifications/assets/js/components/whats-new-item-thumbnail.js": /*!*********************************************************************************!*\ !*** ../modules/notifications/assets/js/components/whats-new-item-thumbnail.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WhatsNewItemThumbnail = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _wrapperWithLink = __webpack_require__(/*! ./wrapper-with-link */ "../modules/notifications/assets/js/components/wrapper-with-link.js"); var WhatsNewItemThumbnail = function WhatsNewItemThumbnail(_ref) { var imageSrc = _ref.imageSrc, title = _ref.title, link = _ref.link; return /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { pb: 2 } }, /*#__PURE__*/_react.default.createElement(_wrapperWithLink.WrapperWithLink, { link: link }, /*#__PURE__*/_react.default.createElement("img", { src: imageSrc, alt: title, style: { maxWidth: '100%' } }))); }; exports.WhatsNewItemThumbnail = WhatsNewItemThumbnail; WhatsNewItemThumbnail.propTypes = { imageSrc: PropTypes.string.isRequired, title: PropTypes.string.isRequired, link: PropTypes.string }; /***/ }), /***/ "../modules/notifications/assets/js/components/whats-new-item-topic-line.js": /*!**********************************************************************************!*\ !*** ../modules/notifications/assets/js/components/whats-new-item-topic-line.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WhatsNewItemTopicLine = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var WhatsNewItemTopicLine = function WhatsNewItemTopicLine(_ref) { var topic = _ref.topic, date = _ref.date; return /*#__PURE__*/_react.default.createElement(_ui.Stack, { direction: "row", divider: /*#__PURE__*/_react.default.createElement(_ui.Divider, { orientation: "vertical", flexItem: true }), spacing: 1, color: "text.tertiary", sx: { pb: 1 } }, topic && /*#__PURE__*/_react.default.createElement(_ui.Box, null, topic), date && /*#__PURE__*/_react.default.createElement(_ui.Box, null, date)); }; exports.WhatsNewItemTopicLine = WhatsNewItemTopicLine; WhatsNewItemTopicLine.propTypes = { topic: PropTypes.string, date: PropTypes.string }; /***/ }), /***/ "../modules/notifications/assets/js/components/whats-new-item.js": /*!***********************************************************************!*\ !*** ../modules/notifications/assets/js/components/whats-new-item.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WhatsNewItem = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _whatsNewItemTopicLine = __webpack_require__(/*! ./whats-new-item-topic-line */ "../modules/notifications/assets/js/components/whats-new-item-topic-line.js"); var _wrapperWithLink = __webpack_require__(/*! ./wrapper-with-link */ "../modules/notifications/assets/js/components/wrapper-with-link.js"); var _whatsNewItemThumbnail = __webpack_require__(/*! ./whats-new-item-thumbnail */ "../modules/notifications/assets/js/components/whats-new-item-thumbnail.js"); var _whatsNewItemChips = __webpack_require__(/*! ./whats-new-item-chips */ "../modules/notifications/assets/js/components/whats-new-item-chips.js"); var WhatsNewItem = function WhatsNewItem(_ref) { var item = _ref.item, itemIndex = _ref.itemIndex, itemsLength = _ref.itemsLength; return /*#__PURE__*/_react.default.createElement(_ui.Box, { key: itemIndex, display: "flex", flexDirection: "column", sx: { pt: 2 } }, (item.topic || item.date) && /*#__PURE__*/_react.default.createElement(_whatsNewItemTopicLine.WhatsNewItemTopicLine, { topic: item.topic, date: item.date }), /*#__PURE__*/_react.default.createElement(_wrapperWithLink.WrapperWithLink, { link: item.link }, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "subtitle1", sx: { pb: 2 } }, item.title)), item.imageSrc && /*#__PURE__*/_react.default.createElement(_whatsNewItemThumbnail.WhatsNewItemThumbnail, { imageSrc: item.imageSrc, link: item.link, title: item.title }), /*#__PURE__*/_react.default.createElement(_whatsNewItemChips.WhatsNewItemChips, { chipPlan: item.chipPlan, chipTags: item.chipTags, itemIndex: itemIndex }), item.description && /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary", sx: { pb: 2 } }, item.description, item.readMoreText && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, { href: item.link, color: "info.main", target: "_blank" }, item.readMoreText))), item.cta && item.ctaLink && /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { pb: 2 } }, /*#__PURE__*/_react.default.createElement(_ui.Button, { href: item.ctaLink, target: "_blank", variant: "contained", size: "small", color: "promotion" }, item.cta)), itemIndex !== itemsLength - 1 && /*#__PURE__*/_react.default.createElement(_ui.Divider, { sx: { my: 1 } })); }; exports.WhatsNewItem = WhatsNewItem; WhatsNewItem.propTypes = { item: PropTypes.object.isRequired, itemIndex: PropTypes.number.isRequired, itemsLength: PropTypes.number.isRequired }; /***/ }), /***/ "../modules/notifications/assets/js/components/whats-new-top-bar.js": /*!**************************************************************************!*\ !*** ../modules/notifications/assets/js/components/whats-new-top-bar.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WhatsNewTopBar = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); var _xIcon = __webpack_require__(/*! ../icons/x-icon */ "../modules/notifications/assets/js/icons/x-icon.js"); var WhatsNewTopBar = function WhatsNewTopBar(props) { var setIsOpen = props.setIsOpen; return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.AppBar, { elevation: 0, position: "sticky", sx: { backgroundColor: 'background.default' } }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, { variant: "dense" }, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "overline", sx: { flexGrow: 1 } }, (0, _i18n.__)('What\'s New', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.IconButton, { "aria-label": 'close', size: "small", onClick: function onClick() { return setIsOpen(false); } }, /*#__PURE__*/_react.default.createElement(_xIcon.XIcon, null)))), /*#__PURE__*/_react.default.createElement(_ui.Divider, null)); }; exports.WhatsNewTopBar = WhatsNewTopBar; WhatsNewTopBar.propTypes = { setIsOpen: PropTypes.func.isRequired }; /***/ }), /***/ "../modules/notifications/assets/js/components/whats-new.js": /*!******************************************************************!*\ !*** ../modules/notifications/assets/js/components/whats-new.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WhatsNew = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _query = __webpack_require__(/*! @elementor/query */ "../node_modules/@elementor/query/dist/index.js"); var _whatsNewTopBar = __webpack_require__(/*! ./whats-new-top-bar */ "../modules/notifications/assets/js/components/whats-new-top-bar.js"); var _whatsNewDrawerContent = __webpack_require__(/*! ./whats-new-drawer-content */ "../modules/notifications/assets/js/components/whats-new-drawer-content.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; } var queryClient = new _query.QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, retry: false, staleTime: 1000 * 60 * 30 // 30 minutes } } }); var WhatsNew = function WhatsNew(props) { var _window$elementor, _window$elementor$get; var isOpen = props.isOpen, setIsOpen = props.setIsOpen, setIsRead = props.setIsRead, _props$anchorPosition = props.anchorPosition, anchorPosition = _props$anchorPosition === void 0 ? 'right' : _props$anchorPosition; (0, _react.useEffect)(function () { if (!isOpen) { return; } setIsRead(true); }, [isOpen, setIsRead]); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_query.QueryClientProvider, { client: queryClient }, /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, { rtl: elementorCommon.config.isRTL }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, { colorScheme: ((_window$elementor = window.elementor) === null || _window$elementor === void 0 ? void 0 : (_window$elementor$get = _window$elementor.getPreferences) === null || _window$elementor$get === void 0 ? void 0 : _window$elementor$get.call(_window$elementor, 'ui_theme')) || 'auto' }, /*#__PURE__*/_react.default.createElement(_ui.Drawer, { anchor: anchorPosition, open: isOpen, onClose: function onClose() { return setIsOpen(false); }, ModalProps: { style: { // Above the WordPress Admin Top Bar. zIndex: 999999 } } }, /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { width: 320, backgroundColor: 'background.default' }, role: "presentation" }, /*#__PURE__*/_react.default.createElement(_whatsNewTopBar.WhatsNewTopBar, { setIsOpen: setIsOpen }), /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { padding: '16px' } }, /*#__PURE__*/_react.default.createElement(_whatsNewDrawerContent.WhatsNewDrawerContent, null)))))))); }; exports.WhatsNew = WhatsNew; WhatsNew.propTypes = { isOpen: PropTypes.bool.isRequired, setIsOpen: PropTypes.func.isRequired, setIsRead: PropTypes.func.isRequired, anchorPosition: PropTypes.oneOf(['left', 'top', 'right', 'bottom']) }; /***/ }), /***/ "../modules/notifications/assets/js/components/wrapper-with-link.js": /*!**************************************************************************!*\ !*** ../modules/notifications/assets/js/components/wrapper-with-link.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WrapperWithLink = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var WrapperWithLink = function WrapperWithLink(props) { var link = props.link, children = props.children; if (!link) { return children; } return /*#__PURE__*/_react.default.createElement(_ui.Link, { href: link, target: "_blank", underline: "none", color: "inherit", sx: { '&:hover': { color: 'inherit' } } }, children); }; exports.WrapperWithLink = WrapperWithLink; WrapperWithLink.propTypes = { link: PropTypes.string, children: PropTypes.any.isRequired }; /***/ }), /***/ "../modules/notifications/assets/js/icons/gift-icon.js": /*!*************************************************************!*\ !*** ../modules/notifications/assets/js/icons/gift-icon.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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.GiftIcon = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); 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; } var GiftIcon = (0, _react.forwardRef)(function (props, ref) { return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({ viewBox: "0 0 24 24" }, props, { ref: ref }), /*#__PURE__*/_react.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.65527 4.84484C8.95951 4.07178 8.20923 3.73771 7.51306 3.74984L7.5 3.75007C7.03587 3.75007 6.59075 3.93433 6.26256 4.26252C5.93437 4.59071 5.75 5.03583 5.75 5.49995C5.75 5.96408 5.93437 6.4092 6.26256 6.73739C6.59075 7.06558 7.03587 7.24995 7.5 7.24995C7.50295 7.24995 7.5059 7.24997 7.50884 7.25001H11.0002C10.6592 6.26394 10.1939 5.44328 9.65527 4.84484ZM11.25 8.75001V11.25H4C3.86193 11.25 3.75 11.1381 3.75 11V9.00001C3.75 8.86193 3.86193 8.75001 4 8.75001H11.25ZM4.25 12.75H4C3.0335 12.75 2.25 11.9665 2.25 11V9.00001C2.25 8.03351 3.0335 7.25001 4 7.25001H4.76141C4.43004 6.73144 4.25 6.12498 4.25 5.49995C4.25 4.638 4.59241 3.81135 5.2019 3.20186C5.80984 2.59392 6.63384 2.2517 7.49342 2.24996C8.72414 2.23069 9.86213 2.83242 10.7702 3.84139C11.2484 4.37275 11.6608 5.01284 12 5.73103C12.3392 5.01284 12.7516 4.37275 13.2298 3.84139C14.1379 2.83242 15.2759 2.23069 16.5066 2.24996C17.3662 2.2517 18.1902 2.59392 18.7981 3.20186C19.4076 3.81135 19.75 4.638 19.75 5.49995C19.75 6.12498 19.57 6.73144 19.2386 7.25001H20C20.9665 7.25001 21.75 8.03351 21.75 9.00001V11C21.75 11.9665 20.9665 12.75 20 12.75H19.75V19C19.75 19.7294 19.4603 20.4288 18.9445 20.9445C18.4288 21.4603 17.7293 21.75 17 21.75H7C6.27065 21.75 5.57118 21.4603 5.05546 20.9445C4.53973 20.4288 4.25 19.7294 4.25 19V12.75ZM11.25 20.25H7C6.66848 20.25 6.35054 20.1183 6.11612 19.8839C5.8817 19.6495 5.75 19.3315 5.75 19V12.75H11.25V20.25ZM12.75 20.25H17C17.3315 20.25 17.6495 20.1183 17.8839 19.8839C18.1183 19.6495 18.25 19.3315 18.25 19V12.75H12.75V20.25ZM12.75 11.25V8.75001H20C20.1381 8.75001 20.25 8.86193 20.25 9.00001V11C20.25 11.1381 20.1381 11.25 20 11.25H12.75ZM16.4912 7.25001C16.4941 7.24997 16.497 7.24995 16.5 7.24995C16.9641 7.24995 17.4092 7.06558 17.7374 6.73739C18.0656 6.4092 18.25 5.96408 18.25 5.49995C18.25 5.03583 18.0656 4.59071 17.7374 4.26252C17.4092 3.93433 16.9641 3.74995 16.5 3.74995H16.4869C15.7908 3.73783 15.0405 4.07178 14.3447 4.84484C13.8061 5.44328 13.3408 6.26394 12.9998 7.25001H16.4912Z" })); }); exports.GiftIcon = GiftIcon; /***/ }), /***/ "../modules/notifications/assets/js/icons/x-icon.js": /*!**********************************************************!*\ !*** ../modules/notifications/assets/js/icons/x-icon.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; 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.XIcon = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); 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; } var XIcon = (0, _react.forwardRef)(function (props, ref) { return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({ viewBox: "0 0 24 24" }, props, { ref: ref }), /*#__PURE__*/_react.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M18.5303 5.46967C18.8232 5.76256 18.8232 6.23744 18.5303 6.53033L6.53033 18.5303C6.23744 18.8232 5.76256 18.8232 5.46967 18.5303C5.17678 18.2374 5.17678 17.7626 5.46967 17.4697L17.4697 5.46967C17.7626 5.17678 18.2374 5.17678 18.5303 5.46967Z" }), /*#__PURE__*/_react.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M5.46967 5.46967C5.76256 5.17678 6.23744 5.17678 6.53033 5.46967L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L5.46967 6.53033C5.17678 6.23744 5.17678 5.76256 5.46967 5.46967Z" })); }); exports.XIcon = XIcon; /***/ }), /***/ "../node_modules/object-assign/index.js": /*!**********************************************!*\ !*** ../node_modules/object-assign/index.js ***! \**********************************************/ /***/ ((module) => { "use strict"; /* object-assign (c) Sindre Sorhus @license MIT */ /* eslint-disable no-unused-vars */ var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (err) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }), /***/ "../node_modules/prop-types/checkPropTypes.js": /*!****************************************************!*\ !*** ../node_modules/prop-types/checkPropTypes.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var printWarning = function() {}; if (true) { var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js"); var loggedTypeFailures = {}; var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js"); printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) { /**/ } }; } /** * Assert that the values match with the type specs. * Error messages are memorized and will only be shown once. * * @param {object} typeSpecs Map of name to a ReactPropType * @param {object} values Runtime values that need to be type-checked * @param {string} location e.g. "prop", "context", "child context" * @param {string} componentName Name of the component for error messages. * @param {?Function} getStack Returns the component stack. * @private */ function checkPropTypes(typeSpecs, values, location, componentName, getStack) { if (true) { for (var typeSpecName in typeSpecs) { if (has(typeSpecs, typeSpecName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. if (typeof typeSpecs[typeSpecName] !== 'function') { var err = Error( (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.' ); err.name = 'Invariant Violation'; throw err; } error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); } catch (ex) { error = ex; } if (error && !(error instanceof Error)) { printWarning( (componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).' ); } if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var stack = getStack ? getStack() : ''; printWarning( 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') ); } } } } } /** * Resets warning cache when testing. * * @private */ checkPropTypes.resetWarningCache = function() { if (true) { loggedTypeFailures = {}; } } module.exports = checkPropTypes; /***/ }), /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js": /*!*************************************************************!*\ !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js"); var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js"); var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js"); var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js"); var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js"); var printWarning = function() {}; if (true) { printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} }; } function emptyFunctionThatReturnsNull() { return null; } module.exports = function(isValidElement, throwOnDirectAccess) { /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; // Important! // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bigint: createPrimitiveTypeChecker('bigint'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), symbol: createPrimitiveTypeChecker('symbol'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), elementType: createElementTypeTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker, exact: createStrictShapeTypeChecker, }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ /** * We use an Error-like object for backward compatibility as people may call * PropTypes directly and inspect their output. However, we don't use real * Errors anymore. We don't inspect their stack anyway, and creating them * is prohibitively expensive if they are created too often, such as what * happens in oneOfType() for any type before the one that matched. */ function PropTypeError(message, data) { this.message = message; this.data = data && typeof data === 'object' ? data: {}; this.stack = ''; } // Make `instanceof Error` still work for returned errors. PropTypeError.prototype = Error.prototype; function createChainableTypeChecker(validate) { if (true) { var manualPropTypeCallCache = {}; var manualPropTypeWarningCount = 0; } function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (secret !== ReactPropTypesSecret) { if (throwOnDirectAccess) { // New behavior only for users of `prop-types` package var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; } else if ( true && typeof console !== 'undefined') { // Old behavior for people using React.PropTypes var cacheKey = componentName + ':' + propName; if ( !manualPropTypeCallCache[cacheKey] && // Avoid spamming the console because they are often not actionable except for lib authors manualPropTypeWarningCount < 3 ) { printWarning( 'You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' ); manualPropTypeCallCache[cacheKey] = true; manualPropTypeWarningCount++; } } } if (props[propName] == null) { if (isRequired) { if (props[propName] === null) { return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); } return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName, secret) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {expectedType: expectedType} ); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunctionThatReturnsNull); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!isValidElement(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createElementTypeTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!ReactIs.isValidElementType(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { if (true) { if (arguments.length > 1) { printWarning( 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' ); } else { printWarning('Invalid argument supplied to oneOf, expected an array.'); } } return emptyFunctionThatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { var type = getPreciseType(value); if (type === 'symbol') { return String(value); } return value; }); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (has(propValue, key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0; return emptyFunctionThatReturnsNull; } for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (typeof checker !== 'function') { printWarning( 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' ); return emptyFunctionThatReturnsNull; } } function validate(props, propName, componentName, location, propFullName) { var expectedTypes = []; for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret); if (checkerResult == null) { return null; } if (checkerResult.data && has(checkerResult.data, 'expectedType')) { expectedTypes.push(checkerResult.data.expectedType); } } var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': ''; return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function invalidValidatorError(componentName, location, propFullName, key, type) { return new PropTypeError( (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.' ); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createStrictShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } // We need to check all keys in case some are required but missing from props. var allKeys = assign({}, props[propName], shapeTypes); for (var key in allKeys) { var checker = shapeTypes[key]; if (has(shapeTypes, key) && typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } if (!checker) { return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') ); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } function isSymbol(propType, propValue) { // Native Symbol. if (propType === 'symbol') { return true; } // falsy value can't be a Symbol if (!propValue) { return false; } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' if (propValue['@@toStringTag'] === 'Symbol') { return true; } // Fallback for non-spec compliant Symbols which are polyfilled. if (typeof Symbol === 'function' && propValue instanceof Symbol) { return true; } return false; } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } if (isSymbol(propType, propValue)) { return 'symbol'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { if (typeof propValue === 'undefined' || propValue === null) { return '' + propValue; } var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns a string that is postfixed to a warning about an invalid type. // For example, "undefined" or "of type array" function getPostfixForTypeWarning(value) { var type = getPreciseType(value); switch (type) { case 'array': case 'object': return 'an ' + type; case 'boolean': case 'date': case 'regexp': return 'a ' + type; default: return type; } } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } ReactPropTypes.checkPropTypes = checkPropTypes; ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /***/ "../node_modules/prop-types/index.js": /*!*******************************************!*\ !*** ../node_modules/prop-types/index.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js"); // By explicitly using `prop-types` you are opting into new development behavior. // http://fb.me/prop-types-in-prod var throwOnDirectAccess = true; module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); } else {} /***/ }), /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js": /*!**************************************************************!*\ !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***! \**************************************************************/ /***/ ((module) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /***/ "../node_modules/prop-types/lib/has.js": /*!*********************************************!*\ !*** ../node_modules/prop-types/lib/has.js ***! \*********************************************/ /***/ ((module) => { module.exports = Function.call.bind(Object.prototype.hasOwnProperty); /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js": /*!************************************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/index.js": /*!*****************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/index.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "../node_modules/react-dom/client.js": /*!*******************************************!*\ !*** ../node_modules/react-dom/client.js ***! \*******************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var m = __webpack_require__(/*! react-dom */ "react-dom"); if (false) {} else { var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; exports.createRoot = function(c, o) { i.usingClientEntryPoint = true; try { return m.createRoot(c, o); } finally { i.usingClientEntryPoint = false; } }; exports.hydrateRoot = function(c, h, o) { i.usingClientEntryPoint = true; try { return m.hydrateRoot(c, h, o); } finally { i.usingClientEntryPoint = false; } }; } /***/ }), /***/ "react": /*!************************!*\ !*** external "React" ***! \************************/ /***/ ((module) => { "use strict"; module.exports = React; /***/ }), /***/ "react-dom": /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ /***/ ((module) => { "use strict"; module.exports = ReactDOM; /***/ }), /***/ "@elementor/ui": /*!*********************************!*\ !*** external "elementorV2.ui" ***! \*********************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui; /***/ }), /***/ "@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/extends.js": /*!*********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/extends.js ***! \*********************************************************/ /***/ ((module) => { function _extends() { module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _extends.apply(this, arguments); } module.exports = _extends, 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/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/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/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; /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/focusManager.cjs": /*!**************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/focusManager.cjs ***! \**************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/focusManager.ts var focusManager_exports = {}; __export(focusManager_exports, { FocusManager: () => FocusManager, focusManager: () => focusManager }); module.exports = __toCommonJS(focusManager_exports); var import_subscribable = __webpack_require__(/*! ./subscribable.cjs */ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var FocusManager = class extends import_subscribable.Subscribable { #focused; #cleanup; #setup; constructor() { super(); this.#setup = (onFocus) => { if (!import_utils.isServer && window.addEventListener) { const listener = () => onFocus(); window.addEventListener("visibilitychange", listener, false); return () => { window.removeEventListener("visibilitychange", listener); }; } return; }; } onSubscribe() { if (!this.#cleanup) { this.setEventListener(this.#setup); } } onUnsubscribe() { if (!this.hasListeners()) { this.#cleanup?.(); this.#cleanup = void 0; } } setEventListener(setup) { this.#setup = setup; this.#cleanup?.(); this.#cleanup = setup((focused) => { if (typeof focused === "boolean") { this.setFocused(focused); } else { this.onFocus(); } }); } setFocused(focused) { const changed = this.#focused !== focused; if (changed) { this.#focused = focused; this.onFocus(); } } onFocus() { this.listeners.forEach((listener) => { listener(); }); } isFocused() { if (typeof this.#focused === "boolean") { return this.#focused; } return globalThis.document?.visibilityState !== "hidden"; } }; var focusManager = new FocusManager(); // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=focusManager.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/hydration.cjs": /*!***********************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/hydration.cjs ***! \***********************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/hydration.ts var hydration_exports = {}; __export(hydration_exports, { defaultShouldDehydrateMutation: () => defaultShouldDehydrateMutation, defaultShouldDehydrateQuery: () => defaultShouldDehydrateQuery, dehydrate: () => dehydrate, hydrate: () => hydrate }); module.exports = __toCommonJS(hydration_exports); function dehydrateMutation(mutation) { return { mutationKey: mutation.options.mutationKey, state: mutation.state, ...mutation.meta && { meta: mutation.meta } }; } function dehydrateQuery(query) { return { state: query.state, queryKey: query.queryKey, queryHash: query.queryHash, ...query.meta && { meta: query.meta } }; } function defaultShouldDehydrateMutation(mutation) { return mutation.state.isPaused; } function defaultShouldDehydrateQuery(query) { return query.state.status === "success"; } function dehydrate(client, options = {}) { const filterMutation = options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation; const mutations = client.getMutationCache().getAll().flatMap( (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : [] ); const filterQuery = options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery; const queries = client.getQueryCache().getAll().flatMap((query) => filterQuery(query) ? [dehydrateQuery(query)] : []); return { mutations, queries }; } function hydrate(client, dehydratedState, options) { if (typeof dehydratedState !== "object" || dehydratedState === null) { return; } const mutationCache = client.getMutationCache(); const queryCache = client.getQueryCache(); const mutations = dehydratedState.mutations || []; const queries = dehydratedState.queries || []; mutations.forEach((dehydratedMutation) => { mutationCache.build( client, { ...options?.defaultOptions?.mutations, mutationKey: dehydratedMutation.mutationKey, meta: dehydratedMutation.meta }, dehydratedMutation.state ); }); queries.forEach(({ queryKey, state, queryHash, meta }) => { const query = queryCache.get(queryHash); if (query) { if (query.state.dataUpdatedAt < state.dataUpdatedAt) { const { fetchStatus: _ignored, ...dehydratedQueryState } = state; query.setState(dehydratedQueryState); } return; } queryCache.build( client, { ...options?.defaultOptions?.queries, queryKey, queryHash, meta }, // Reset fetch status to idle to avoid // query being stuck in fetching state upon hydration { ...state, fetchStatus: "idle" } ); }); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=hydration.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/index.cjs": /*!*******************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/index.cjs ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { CancelledError: () => import_retryer.CancelledError, InfiniteQueryObserver: () => import_infiniteQueryObserver.InfiniteQueryObserver, MutationCache: () => import_mutationCache.MutationCache, MutationObserver: () => import_mutationObserver.MutationObserver, QueriesObserver: () => import_queriesObserver.QueriesObserver, Query: () => import_query.Query, QueryCache: () => import_queryCache.QueryCache, QueryClient: () => import_queryClient.QueryClient, QueryObserver: () => import_queryObserver.QueryObserver, defaultShouldDehydrateMutation: () => import_hydration.defaultShouldDehydrateMutation, defaultShouldDehydrateQuery: () => import_hydration.defaultShouldDehydrateQuery, dehydrate: () => import_hydration.dehydrate, focusManager: () => import_focusManager.focusManager, hashKey: () => import_utils.hashKey, hydrate: () => import_hydration.hydrate, isCancelledError: () => import_retryer2.isCancelledError, isServer: () => import_utils.isServer, keepPreviousData: () => import_utils.keepPreviousData, matchQuery: () => import_utils.matchQuery, notifyManager: () => import_notifyManager.notifyManager, onlineManager: () => import_onlineManager.onlineManager, replaceEqualDeep: () => import_utils.replaceEqualDeep }); module.exports = __toCommonJS(src_exports); var import_retryer = __webpack_require__(/*! ./retryer.cjs */ "../node_modules/@tanstack/query-core/build/modern/retryer.cjs"); var import_queryCache = __webpack_require__(/*! ./queryCache.cjs */ "../node_modules/@tanstack/query-core/build/modern/queryCache.cjs"); var import_queryClient = __webpack_require__(/*! ./queryClient.cjs */ "../node_modules/@tanstack/query-core/build/modern/queryClient.cjs"); var import_queryObserver = __webpack_require__(/*! ./queryObserver.cjs */ "../node_modules/@tanstack/query-core/build/modern/queryObserver.cjs"); var import_queriesObserver = __webpack_require__(/*! ./queriesObserver.cjs */ "../node_modules/@tanstack/query-core/build/modern/queriesObserver.cjs"); var import_infiniteQueryObserver = __webpack_require__(/*! ./infiniteQueryObserver.cjs */ "../node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.cjs"); var import_mutationCache = __webpack_require__(/*! ./mutationCache.cjs */ "../node_modules/@tanstack/query-core/build/modern/mutationCache.cjs"); var import_mutationObserver = __webpack_require__(/*! ./mutationObserver.cjs */ "../node_modules/@tanstack/query-core/build/modern/mutationObserver.cjs"); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_focusManager = __webpack_require__(/*! ./focusManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/focusManager.cjs"); var import_onlineManager = __webpack_require__(/*! ./onlineManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/onlineManager.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var import_retryer2 = __webpack_require__(/*! ./retryer.cjs */ "../node_modules/@tanstack/query-core/build/modern/retryer.cjs"); var import_hydration = __webpack_require__(/*! ./hydration.cjs */ "../node_modules/@tanstack/query-core/build/modern/hydration.cjs"); __reExport(src_exports, __webpack_require__(/*! ./types.cjs */ "../node_modules/@tanstack/query-core/build/modern/types.cjs"), module.exports); var import_query = __webpack_require__(/*! ./query.cjs */ "../node_modules/@tanstack/query-core/build/modern/query.cjs"); // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=index.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs": /*!***********************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs ***! \***********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/infiniteQueryBehavior.ts var infiniteQueryBehavior_exports = {}; __export(infiniteQueryBehavior_exports, { hasNextPage: () => hasNextPage, hasPreviousPage: () => hasPreviousPage, infiniteQueryBehavior: () => infiniteQueryBehavior }); module.exports = __toCommonJS(infiniteQueryBehavior_exports); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); function infiniteQueryBehavior(pages) { return { onFetch: (context, query) => { const fetchFn = async () => { const options = context.options; const direction = context.fetchOptions?.meta?.fetchMore?.direction; const oldPages = context.state.data?.pages || []; const oldPageParams = context.state.data?.pageParams || []; const empty = { pages: [], pageParams: [] }; let cancelled = false; const addSignalProperty = (object) => { Object.defineProperty(object, "signal", { enumerable: true, get: () => { if (context.signal.aborted) { cancelled = true; } else { context.signal.addEventListener("abort", () => { cancelled = true; }); } return context.signal; } }); }; const queryFn = context.options.queryFn || (() => Promise.reject( new Error(`Missing queryFn: '${context.options.queryHash}'`) )); const fetchPage = async (data, param, previous) => { if (cancelled) { return Promise.reject(); } if (param == null && data.pages.length) { return Promise.resolve(data); } const queryFnContext = { queryKey: context.queryKey, pageParam: param, direction: previous ? "backward" : "forward", meta: context.options.meta }; addSignalProperty(queryFnContext); const page = await queryFn( queryFnContext ); const { maxPages } = context.options; const addTo = previous ? import_utils.addToStart : import_utils.addToEnd; return { pages: addTo(data.pages, page, maxPages), pageParams: addTo(data.pageParams, param, maxPages) }; }; let result; if (direction && oldPages.length) { const previous = direction === "backward"; const pageParamFn = previous ? getPreviousPageParam : getNextPageParam; const oldData = { pages: oldPages, pageParams: oldPageParams }; const param = pageParamFn(options, oldData); result = await fetchPage(oldData, param, previous); } else { result = await fetchPage( empty, oldPageParams[0] ?? options.initialPageParam ); const remainingPages = pages ?? oldPages.length; for (let i = 1; i < remainingPages; i++) { const param = getNextPageParam(options, result); result = await fetchPage(result, param); } } return result; }; if (context.options.persister) { context.fetchFn = () => { return context.options.persister?.( fetchFn, { queryKey: context.queryKey, meta: context.options.meta, signal: context.signal }, query ); }; } else { context.fetchFn = fetchFn; } } }; } function getNextPageParam(options, { pages, pageParams }) { const lastIndex = pages.length - 1; return options.getNextPageParam( pages[lastIndex], pages, pageParams[lastIndex], pageParams ); } function getPreviousPageParam(options, { pages, pageParams }) { return options.getPreviousPageParam?.( pages[0], pages, pageParams[0], pageParams ); } function hasNextPage(options, data) { if (!data) return false; return getNextPageParam(options, data) != null; } function hasPreviousPage(options, data) { if (!data || !options.getPreviousPageParam) return false; return getPreviousPageParam(options, data) != null; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=infiniteQueryBehavior.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.cjs": /*!***********************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.cjs ***! \***********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/infiniteQueryObserver.ts var infiniteQueryObserver_exports = {}; __export(infiniteQueryObserver_exports, { InfiniteQueryObserver: () => InfiniteQueryObserver }); module.exports = __toCommonJS(infiniteQueryObserver_exports); var import_queryObserver = __webpack_require__(/*! ./queryObserver.cjs */ "../node_modules/@tanstack/query-core/build/modern/queryObserver.cjs"); var import_infiniteQueryBehavior = __webpack_require__(/*! ./infiniteQueryBehavior.cjs */ "../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs"); var InfiniteQueryObserver = class extends import_queryObserver.QueryObserver { // eslint-disable-next-line @typescript-eslint/no-useless-constructor constructor(client, options) { super(client, options); } bindMethods() { super.bindMethods(); this.fetchNextPage = this.fetchNextPage.bind(this); this.fetchPreviousPage = this.fetchPreviousPage.bind(this); } setOptions(options, notifyOptions) { super.setOptions( { ...options, behavior: (0, import_infiniteQueryBehavior.infiniteQueryBehavior)() }, notifyOptions ); } getOptimisticResult(options) { options.behavior = (0, import_infiniteQueryBehavior.infiniteQueryBehavior)(); return super.getOptimisticResult(options); } fetchNextPage(options) { return this.fetch({ ...options, meta: { fetchMore: { direction: "forward" } } }); } fetchPreviousPage(options) { return this.fetch({ ...options, meta: { fetchMore: { direction: "backward" } } }); } createResult(query, options) { const { state } = query; const result = super.createResult(query, options); const { isFetching, isRefetching } = result; const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === "forward"; const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === "backward"; return { ...result, fetchNextPage: this.fetchNextPage, fetchPreviousPage: this.fetchPreviousPage, hasNextPage: (0, import_infiniteQueryBehavior.hasNextPage)(options, state.data), hasPreviousPage: (0, import_infiniteQueryBehavior.hasPreviousPage)(options, state.data), isFetchingNextPage, isFetchingPreviousPage, isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage }; } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=infiniteQueryObserver.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/mutation.cjs": /*!**********************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/mutation.cjs ***! \**********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/mutation.ts var mutation_exports = {}; __export(mutation_exports, { Mutation: () => Mutation, getDefaultState: () => getDefaultState }); module.exports = __toCommonJS(mutation_exports); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_removable = __webpack_require__(/*! ./removable.cjs */ "../node_modules/@tanstack/query-core/build/modern/removable.cjs"); var import_retryer = __webpack_require__(/*! ./retryer.cjs */ "../node_modules/@tanstack/query-core/build/modern/retryer.cjs"); var Mutation = class extends import_removable.Removable { constructor(config) { super(); this.mutationId = config.mutationId; this.#defaultOptions = config.defaultOptions; this.#mutationCache = config.mutationCache; this.#observers = []; this.state = config.state || getDefaultState(); this.setOptions(config.options); this.scheduleGc(); } #observers; #defaultOptions; #mutationCache; #retryer; setOptions(options) { this.options = { ...this.#defaultOptions, ...options }; this.updateGcTime(this.options.gcTime); } get meta() { return this.options.meta; } addObserver(observer) { if (!this.#observers.includes(observer)) { this.#observers.push(observer); this.clearGcTimeout(); this.#mutationCache.notify({ type: "observerAdded", mutation: this, observer }); } } removeObserver(observer) { this.#observers = this.#observers.filter((x) => x !== observer); this.scheduleGc(); this.#mutationCache.notify({ type: "observerRemoved", mutation: this, observer }); } optionalRemove() { if (!this.#observers.length) { if (this.state.status === "pending") { this.scheduleGc(); } else { this.#mutationCache.remove(this); } } } continue() { return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before this.execute(this.state.variables); } async execute(variables) { const executeMutation = () => { this.#retryer = (0, import_retryer.createRetryer)({ fn: () => { if (!this.options.mutationFn) { return Promise.reject(new Error("No mutationFn found")); } return this.options.mutationFn(variables); }, onFail: (failureCount, error) => { this.#dispatch({ type: "failed", failureCount, error }); }, onPause: () => { this.#dispatch({ type: "pause" }); }, onContinue: () => { this.#dispatch({ type: "continue" }); }, retry: this.options.retry ?? 0, retryDelay: this.options.retryDelay, networkMode: this.options.networkMode }); return this.#retryer.promise; }; const restored = this.state.status === "pending"; try { if (!restored) { this.#dispatch({ type: "pending", variables }); await this.#mutationCache.config.onMutate?.( variables, this ); const context = await this.options.onMutate?.(variables); if (context !== this.state.context) { this.#dispatch({ type: "pending", context, variables }); } } const data = await executeMutation(); await this.#mutationCache.config.onSuccess?.( data, variables, this.state.context, this ); await this.options.onSuccess?.(data, variables, this.state.context); await this.#mutationCache.config.onSettled?.( data, null, this.state.variables, this.state.context, this ); await this.options.onSettled?.(data, null, variables, this.state.context); this.#dispatch({ type: "success", data }); return data; } catch (error) { try { await this.#mutationCache.config.onError?.( error, variables, this.state.context, this ); await this.options.onError?.( error, variables, this.state.context ); await this.#mutationCache.config.onSettled?.( void 0, error, this.state.variables, this.state.context, this ); await this.options.onSettled?.( void 0, error, variables, this.state.context ); throw error; } finally { this.#dispatch({ type: "error", error }); } } } #dispatch(action) { const reducer = (state) => { switch (action.type) { case "failed": return { ...state, failureCount: action.failureCount, failureReason: action.error }; case "pause": return { ...state, isPaused: true }; case "continue": return { ...state, isPaused: false }; case "pending": return { ...state, context: action.context, data: void 0, failureCount: 0, failureReason: null, error: null, isPaused: !(0, import_retryer.canFetch)(this.options.networkMode), status: "pending", variables: action.variables, submittedAt: Date.now() }; case "success": return { ...state, data: action.data, failureCount: 0, failureReason: null, error: null, status: "success", isPaused: false }; case "error": return { ...state, data: void 0, error: action.error, failureCount: state.failureCount + 1, failureReason: action.error, isPaused: false, status: "error" }; } }; this.state = reducer(this.state); import_notifyManager.notifyManager.batch(() => { this.#observers.forEach((observer) => { observer.onMutationUpdate(action); }); this.#mutationCache.notify({ mutation: this, type: "updated", action }); }); } }; function getDefaultState() { return { context: void 0, data: void 0, error: null, failureCount: 0, failureReason: null, isPaused: false, status: "idle", variables: void 0, submittedAt: 0 }; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=mutation.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/mutationCache.cjs": /*!***************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/mutationCache.cjs ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/mutationCache.ts var mutationCache_exports = {}; __export(mutationCache_exports, { MutationCache: () => MutationCache }); module.exports = __toCommonJS(mutationCache_exports); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_mutation = __webpack_require__(/*! ./mutation.cjs */ "../node_modules/@tanstack/query-core/build/modern/mutation.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var import_subscribable = __webpack_require__(/*! ./subscribable.cjs */ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs"); var MutationCache = class extends import_subscribable.Subscribable { constructor(config = {}) { super(); this.config = config; this.#mutations = []; this.#mutationId = 0; } #mutations; #mutationId; #resuming; build(client, options, state) { const mutation = new import_mutation.Mutation({ mutationCache: this, mutationId: ++this.#mutationId, options: client.defaultMutationOptions(options), state }); this.add(mutation); return mutation; } add(mutation) { this.#mutations.push(mutation); this.notify({ type: "added", mutation }); } remove(mutation) { this.#mutations = this.#mutations.filter((x) => x !== mutation); this.notify({ type: "removed", mutation }); } clear() { import_notifyManager.notifyManager.batch(() => { this.#mutations.forEach((mutation) => { this.remove(mutation); }); }); } getAll() { return this.#mutations; } find(filters) { const defaultedFilters = { exact: true, ...filters }; return this.#mutations.find( (mutation) => (0, import_utils.matchMutation)(defaultedFilters, mutation) ); } findAll(filters = {}) { return this.#mutations.filter( (mutation) => (0, import_utils.matchMutation)(filters, mutation) ); } notify(event) { import_notifyManager.notifyManager.batch(() => { this.listeners.forEach((listener) => { listener(event); }); }); } resumePausedMutations() { this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => { const pausedMutations = this.#mutations.filter((x) => x.state.isPaused); return import_notifyManager.notifyManager.batch( () => pausedMutations.reduce( (promise, mutation) => promise.then(() => mutation.continue().catch(import_utils.noop)), Promise.resolve() ) ); }).then(() => { this.#resuming = void 0; }); return this.#resuming; } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=mutationCache.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/mutationObserver.cjs": /*!******************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/mutationObserver.cjs ***! \******************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/mutationObserver.ts var mutationObserver_exports = {}; __export(mutationObserver_exports, { MutationObserver: () => MutationObserver }); module.exports = __toCommonJS(mutationObserver_exports); var import_mutation = __webpack_require__(/*! ./mutation.cjs */ "../node_modules/@tanstack/query-core/build/modern/mutation.cjs"); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_subscribable = __webpack_require__(/*! ./subscribable.cjs */ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var MutationObserver = class extends import_subscribable.Subscribable { constructor(client, options) { super(); this.#currentResult = void 0; this.#client = client; this.setOptions(options); this.bindMethods(); this.#updateResult(); } #client; #currentResult; #currentMutation; #mutateOptions; bindMethods() { this.mutate = this.mutate.bind(this); this.reset = this.reset.bind(this); } setOptions(options) { const prevOptions = this.options; this.options = this.#client.defaultMutationOptions(options); if (!(0, import_utils.shallowEqualObjects)(prevOptions, this.options)) { this.#client.getMutationCache().notify({ type: "observerOptionsUpdated", mutation: this.#currentMutation, observer: this }); } this.#currentMutation?.setOptions(this.options); } onUnsubscribe() { if (!this.hasListeners()) { this.#currentMutation?.removeObserver(this); } } onMutationUpdate(action) { this.#updateResult(); this.#notify(action); } getCurrentResult() { return this.#currentResult; } reset() { this.#currentMutation = void 0; this.#updateResult(); this.#notify(); } mutate(variables, options) { this.#mutateOptions = options; this.#currentMutation?.removeObserver(this); this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options); this.#currentMutation.addObserver(this); return this.#currentMutation.execute(variables); } #updateResult() { const state = this.#currentMutation?.state ?? (0, import_mutation.getDefaultState)(); this.#currentResult = { ...state, isPending: state.status === "pending", isSuccess: state.status === "success", isError: state.status === "error", isIdle: state.status === "idle", mutate: this.mutate, reset: this.reset }; } #notify(action) { import_notifyManager.notifyManager.batch(() => { if (this.#mutateOptions && this.hasListeners()) { if (action?.type === "success") { this.#mutateOptions.onSuccess?.( action.data, this.#currentResult.variables, this.#currentResult.context ); this.#mutateOptions.onSettled?.( action.data, null, this.#currentResult.variables, this.#currentResult.context ); } else if (action?.type === "error") { this.#mutateOptions.onError?.( action.error, this.#currentResult.variables, this.#currentResult.context ); this.#mutateOptions.onSettled?.( void 0, action.error, this.#currentResult.variables, this.#currentResult.context ); } } this.listeners.forEach((listener) => { listener(this.#currentResult); }); }); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=mutationObserver.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs": /*!***************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/notifyManager.ts var notifyManager_exports = {}; __export(notifyManager_exports, { createNotifyManager: () => createNotifyManager, notifyManager: () => notifyManager }); module.exports = __toCommonJS(notifyManager_exports); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); function createNotifyManager() { let queue = []; let transactions = 0; let notifyFn = (callback) => { callback(); }; let batchNotifyFn = (callback) => { callback(); }; const batch = (callback) => { let result; transactions++; try { result = callback(); } finally { transactions--; if (!transactions) { flush(); } } return result; }; const schedule = (callback) => { if (transactions) { queue.push(callback); } else { (0, import_utils.scheduleMicrotask)(() => { notifyFn(callback); }); } }; const batchCalls = (callback) => { return (...args) => { schedule(() => { callback(...args); }); }; }; const flush = () => { const originalQueue = queue; queue = []; if (originalQueue.length) { (0, import_utils.scheduleMicrotask)(() => { batchNotifyFn(() => { originalQueue.forEach((callback) => { notifyFn(callback); }); }); }); } }; const setNotifyFunction = (fn) => { notifyFn = fn; }; const setBatchNotifyFunction = (fn) => { batchNotifyFn = fn; }; return { batch, batchCalls, schedule, setNotifyFunction, setBatchNotifyFunction }; } var notifyManager = createNotifyManager(); // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=notifyManager.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/onlineManager.cjs": /*!***************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/onlineManager.cjs ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/onlineManager.ts var onlineManager_exports = {}; __export(onlineManager_exports, { OnlineManager: () => OnlineManager, onlineManager: () => onlineManager }); module.exports = __toCommonJS(onlineManager_exports); var import_subscribable = __webpack_require__(/*! ./subscribable.cjs */ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var OnlineManager = class extends import_subscribable.Subscribable { #online = true; #cleanup; #setup; constructor() { super(); this.#setup = (onOnline) => { if (!import_utils.isServer && window.addEventListener) { const onlineListener = () => onOnline(true); const offlineListener = () => onOnline(false); window.addEventListener("online", onlineListener, false); window.addEventListener("offline", offlineListener, false); return () => { window.removeEventListener("online", onlineListener); window.removeEventListener("offline", offlineListener); }; } return; }; } onSubscribe() { if (!this.#cleanup) { this.setEventListener(this.#setup); } } onUnsubscribe() { if (!this.hasListeners()) { this.#cleanup?.(); this.#cleanup = void 0; } } setEventListener(setup) { this.#setup = setup; this.#cleanup?.(); this.#cleanup = setup(this.setOnline.bind(this)); } setOnline(online) { const changed = this.#online !== online; if (changed) { this.#online = online; this.listeners.forEach((listener) => { listener(online); }); } } isOnline() { return this.#online; } }; var onlineManager = new OnlineManager(); // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=onlineManager.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/queriesObserver.cjs": /*!*****************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/queriesObserver.cjs ***! \*****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/queriesObserver.ts var queriesObserver_exports = {}; __export(queriesObserver_exports, { QueriesObserver: () => QueriesObserver }); module.exports = __toCommonJS(queriesObserver_exports); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_queryObserver = __webpack_require__(/*! ./queryObserver.cjs */ "../node_modules/@tanstack/query-core/build/modern/queryObserver.cjs"); var import_subscribable = __webpack_require__(/*! ./subscribable.cjs */ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); function difference(array1, array2) { return array1.filter((x) => !array2.includes(x)); } function replaceAt(array, index, value) { const copy = array.slice(0); copy[index] = value; return copy; } var QueriesObserver = class extends import_subscribable.Subscribable { #client; #result; #queries; #observers; #options; #combinedResult; constructor(client, queries, options) { super(); this.#client = client; this.#queries = []; this.#observers = []; this.#setResult([]); this.setQueries(queries, options); } #setResult(value) { this.#result = value; this.#combinedResult = this.#combineResult(value); } onSubscribe() { if (this.listeners.size === 1) { this.#observers.forEach((observer) => { observer.subscribe((result) => { this.#onUpdate(observer, result); }); }); } } onUnsubscribe() { if (!this.listeners.size) { this.destroy(); } } destroy() { this.listeners = /* @__PURE__ */ new Set(); this.#observers.forEach((observer) => { observer.destroy(); }); } setQueries(queries, options, notifyOptions) { this.#queries = queries; this.#options = options; import_notifyManager.notifyManager.batch(() => { const prevObservers = this.#observers; const newObserverMatches = this.#findMatchingObservers(this.#queries); newObserverMatches.forEach( (match) => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions) ); const newObservers = newObserverMatches.map((match) => match.observer); const newResult = newObservers.map( (observer) => observer.getCurrentResult() ); const hasIndexChange = newObservers.some( (observer, index) => observer !== prevObservers[index] ); if (prevObservers.length === newObservers.length && !hasIndexChange) { return; } this.#observers = newObservers; this.#setResult(newResult); if (!this.hasListeners()) { return; } difference(prevObservers, newObservers).forEach((observer) => { observer.destroy(); }); difference(newObservers, prevObservers).forEach((observer) => { observer.subscribe((result) => { this.#onUpdate(observer, result); }); }); this.#notify(); }); } getCurrentResult() { return this.#combinedResult; } getQueries() { return this.#observers.map((observer) => observer.getCurrentQuery()); } getObservers() { return this.#observers; } getOptimisticResult(queries) { const matches = this.#findMatchingObservers(queries); const result = matches.map( (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions) ); return [ result, (r) => { return this.#combineResult(r ?? result); }, () => { return matches.map((match, index) => { const observerResult = result[index]; return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult) : observerResult; }); } ]; } #combineResult(input) { const combine = this.#options?.combine; if (combine) { return (0, import_utils.replaceEqualDeep)(this.#combinedResult, combine(input)); } return input; } #findMatchingObservers(queries) { const prevObservers = this.#observers; const prevObserversMap = new Map( prevObservers.map((observer) => [observer.options.queryHash, observer]) ); const defaultedQueryOptions = queries.map( (options) => this.#client.defaultQueryOptions(options) ); const matchingObservers = defaultedQueryOptions.flatMap((defaultedOptions) => { const match = prevObserversMap.get(defaultedOptions.queryHash); if (match != null) { return [{ defaultedQueryOptions: defaultedOptions, observer: match }]; } return []; }); const matchedQueryHashes = new Set( matchingObservers.map((match) => match.defaultedQueryOptions.queryHash) ); const unmatchedQueries = defaultedQueryOptions.filter( (defaultedOptions) => !matchedQueryHashes.has(defaultedOptions.queryHash) ); const getObserver = (options) => { const defaultedOptions = this.#client.defaultQueryOptions(options); const currentObserver = this.#observers.find( (o) => o.options.queryHash === defaultedOptions.queryHash ); return currentObserver ?? new import_queryObserver.QueryObserver(this.#client, defaultedOptions); }; const newOrReusedObservers = unmatchedQueries.map((options) => { return { defaultedQueryOptions: options, observer: getObserver(options) }; }); const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions); return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries); } #onUpdate(observer, result) { const index = this.#observers.indexOf(observer); if (index !== -1) { this.#setResult(replaceAt(this.#result, index, result)); this.#notify(); } } #notify() { import_notifyManager.notifyManager.batch(() => { this.listeners.forEach((listener) => { listener(this.#result); }); }); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=queriesObserver.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/query.cjs": /*!*******************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/query.cjs ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/query.ts var query_exports = {}; __export(query_exports, { Query: () => Query }); module.exports = __toCommonJS(query_exports); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_retryer = __webpack_require__(/*! ./retryer.cjs */ "../node_modules/@tanstack/query-core/build/modern/retryer.cjs"); var import_removable = __webpack_require__(/*! ./removable.cjs */ "../node_modules/@tanstack/query-core/build/modern/removable.cjs"); var Query = class extends import_removable.Removable { constructor(config) { super(); this.#abortSignalConsumed = false; this.#defaultOptions = config.defaultOptions; this.#setOptions(config.options); this.#observers = []; this.#cache = config.cache; this.queryKey = config.queryKey; this.queryHash = config.queryHash; this.#initialState = config.state || getDefaultState(this.options); this.state = this.#initialState; this.scheduleGc(); } #initialState; #revertState; #cache; #promise; #retryer; #observers; #defaultOptions; #abortSignalConsumed; get meta() { return this.options.meta; } #setOptions(options) { this.options = { ...this.#defaultOptions, ...options }; this.updateGcTime(this.options.gcTime); } optionalRemove() { if (!this.#observers.length && this.state.fetchStatus === "idle") { this.#cache.remove(this); } } setData(newData, options) { const data = (0, import_utils.replaceData)(this.state.data, newData, this.options); this.#dispatch({ data, type: "success", dataUpdatedAt: options?.updatedAt, manual: options?.manual }); return data; } setState(state, setStateOptions) { this.#dispatch({ type: "setState", state, setStateOptions }); } cancel(options) { const promise = this.#promise; this.#retryer?.cancel(options); return promise ? promise.then(import_utils.noop).catch(import_utils.noop) : Promise.resolve(); } destroy() { super.destroy(); this.cancel({ silent: true }); } reset() { this.destroy(); this.setState(this.#initialState); } isActive() { return this.#observers.some( (observer) => observer.options.enabled !== false ); } isDisabled() { return this.getObserversCount() > 0 && !this.isActive(); } isStale() { return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some((observer) => observer.getCurrentResult().isStale); } isStaleByTime(staleTime = 0) { return this.state.isInvalidated || !this.state.dataUpdatedAt || !(0, import_utils.timeUntilStale)(this.state.dataUpdatedAt, staleTime); } onFocus() { const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus()); observer?.refetch({ cancelRefetch: false }); this.#retryer?.continue(); } onOnline() { const observer = this.#observers.find((x) => x.shouldFetchOnReconnect()); observer?.refetch({ cancelRefetch: false }); this.#retryer?.continue(); } addObserver(observer) { if (!this.#observers.includes(observer)) { this.#observers.push(observer); this.clearGcTimeout(); this.#cache.notify({ type: "observerAdded", query: this, observer }); } } removeObserver(observer) { if (this.#observers.includes(observer)) { this.#observers = this.#observers.filter((x) => x !== observer); if (!this.#observers.length) { if (this.#retryer) { if (this.#abortSignalConsumed) { this.#retryer.cancel({ revert: true }); } else { this.#retryer.cancelRetry(); } } this.scheduleGc(); } this.#cache.notify({ type: "observerRemoved", query: this, observer }); } } getObserversCount() { return this.#observers.length; } invalidate() { if (!this.state.isInvalidated) { this.#dispatch({ type: "invalidate" }); } } fetch(options, fetchOptions) { if (this.state.fetchStatus !== "idle") { if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) { this.cancel({ silent: true }); } else if (this.#promise) { this.#retryer?.continueRetry(); return this.#promise; } } if (options) { this.#setOptions(options); } if (!this.options.queryFn) { const observer = this.#observers.find((x) => x.options.queryFn); if (observer) { this.#setOptions(observer.options); } } if (true) { if (!Array.isArray(this.options.queryKey)) { console.error( `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']` ); } } const abortController = new AbortController(); const queryFnContext = { queryKey: this.queryKey, meta: this.meta }; const addSignalProperty = (object) => { Object.defineProperty(object, "signal", { enumerable: true, get: () => { this.#abortSignalConsumed = true; return abortController.signal; } }); }; addSignalProperty(queryFnContext); const fetchFn = () => { if (!this.options.queryFn) { return Promise.reject( new Error(`Missing queryFn: '${this.options.queryHash}'`) ); } this.#abortSignalConsumed = false; if (this.options.persister) { return this.options.persister( this.options.queryFn, queryFnContext, this ); } return this.options.queryFn( queryFnContext ); }; const context = { fetchOptions, options: this.options, queryKey: this.queryKey, state: this.state, fetchFn }; addSignalProperty(context); this.options.behavior?.onFetch( context, this ); this.#revertState = this.state; if (this.state.fetchStatus === "idle" || this.state.fetchMeta !== context.fetchOptions?.meta) { this.#dispatch({ type: "fetch", meta: context.fetchOptions?.meta }); } const onError = (error) => { if (!((0, import_retryer.isCancelledError)(error) && error.silent)) { this.#dispatch({ type: "error", error }); } if (!(0, import_retryer.isCancelledError)(error)) { this.#cache.config.onError?.( error, this ); this.#cache.config.onSettled?.( this.state.data, error, this ); } if (!this.isFetchingOptimistic) { this.scheduleGc(); } this.isFetchingOptimistic = false; }; this.#retryer = (0, import_retryer.createRetryer)({ fn: context.fetchFn, abort: abortController.abort.bind(abortController), onSuccess: (data) => { if (typeof data === "undefined") { if (true) { console.error( `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}` ); } onError(new Error(`${this.queryHash} data is undefined`)); return; } this.setData(data); this.#cache.config.onSuccess?.(data, this); this.#cache.config.onSettled?.( data, this.state.error, this ); if (!this.isFetchingOptimistic) { this.scheduleGc(); } this.isFetchingOptimistic = false; }, onError, onFail: (failureCount, error) => { this.#dispatch({ type: "failed", failureCount, error }); }, onPause: () => { this.#dispatch({ type: "pause" }); }, onContinue: () => { this.#dispatch({ type: "continue" }); }, retry: context.options.retry, retryDelay: context.options.retryDelay, networkMode: context.options.networkMode }); this.#promise = this.#retryer.promise; return this.#promise; } #dispatch(action) { const reducer = (state) => { switch (action.type) { case "failed": return { ...state, fetchFailureCount: action.failureCount, fetchFailureReason: action.error }; case "pause": return { ...state, fetchStatus: "paused" }; case "continue": return { ...state, fetchStatus: "fetching" }; case "fetch": return { ...state, fetchFailureCount: 0, fetchFailureReason: null, fetchMeta: action.meta ?? null, fetchStatus: (0, import_retryer.canFetch)(this.options.networkMode) ? "fetching" : "paused", ...!state.dataUpdatedAt && { error: null, status: "pending" } }; case "success": return { ...state, data: action.data, dataUpdateCount: state.dataUpdateCount + 1, dataUpdatedAt: action.dataUpdatedAt ?? Date.now(), error: null, isInvalidated: false, status: "success", ...!action.manual && { fetchStatus: "idle", fetchFailureCount: 0, fetchFailureReason: null } }; case "error": const error = action.error; if ((0, import_retryer.isCancelledError)(error) && error.revert && this.#revertState) { return { ...this.#revertState, fetchStatus: "idle" }; } return { ...state, error, errorUpdateCount: state.errorUpdateCount + 1, errorUpdatedAt: Date.now(), fetchFailureCount: state.fetchFailureCount + 1, fetchFailureReason: error, fetchStatus: "idle", status: "error" }; case "invalidate": return { ...state, isInvalidated: true }; case "setState": return { ...state, ...action.state }; } }; this.state = reducer(this.state); import_notifyManager.notifyManager.batch(() => { this.#observers.forEach((observer) => { observer.onQueryUpdate(); }); this.#cache.notify({ query: this, type: "updated", action }); }); } }; function getDefaultState(options) { const data = typeof options.initialData === "function" ? options.initialData() : options.initialData; const hasData = typeof data !== "undefined"; const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === "function" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0; return { data, dataUpdateCount: 0, dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0, error: null, errorUpdateCount: 0, errorUpdatedAt: 0, fetchFailureCount: 0, fetchFailureReason: null, fetchMeta: null, isInvalidated: false, status: hasData ? "success" : "pending", fetchStatus: "idle" }; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=query.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/queryCache.cjs": /*!************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/queryCache.cjs ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/queryCache.ts var queryCache_exports = {}; __export(queryCache_exports, { QueryCache: () => QueryCache }); module.exports = __toCommonJS(queryCache_exports); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var import_query = __webpack_require__(/*! ./query.cjs */ "../node_modules/@tanstack/query-core/build/modern/query.cjs"); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_subscribable = __webpack_require__(/*! ./subscribable.cjs */ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs"); var QueryCache = class extends import_subscribable.Subscribable { constructor(config = {}) { super(); this.config = config; this.#queries = /* @__PURE__ */ new Map(); } #queries; build(client, options, state) { const queryKey = options.queryKey; const queryHash = options.queryHash ?? (0, import_utils.hashQueryKeyByOptions)(queryKey, options); let query = this.get(queryHash); if (!query) { query = new import_query.Query({ cache: this, queryKey, queryHash, options: client.defaultQueryOptions(options), state, defaultOptions: client.getQueryDefaults(queryKey) }); this.add(query); } return query; } add(query) { if (!this.#queries.has(query.queryHash)) { this.#queries.set(query.queryHash, query); this.notify({ type: "added", query }); } } remove(query) { const queryInMap = this.#queries.get(query.queryHash); if (queryInMap) { query.destroy(); if (queryInMap === query) { this.#queries.delete(query.queryHash); } this.notify({ type: "removed", query }); } } clear() { import_notifyManager.notifyManager.batch(() => { this.getAll().forEach((query) => { this.remove(query); }); }); } get(queryHash) { return this.#queries.get(queryHash); } getAll() { return [...this.#queries.values()]; } find(filters) { const defaultedFilters = { exact: true, ...filters }; return this.getAll().find( (query) => (0, import_utils.matchQuery)(defaultedFilters, query) ); } findAll(filters = {}) { const queries = this.getAll(); return Object.keys(filters).length > 0 ? queries.filter((query) => (0, import_utils.matchQuery)(filters, query)) : queries; } notify(event) { import_notifyManager.notifyManager.batch(() => { this.listeners.forEach((listener) => { listener(event); }); }); } onFocus() { import_notifyManager.notifyManager.batch(() => { this.getAll().forEach((query) => { query.onFocus(); }); }); } onOnline() { import_notifyManager.notifyManager.batch(() => { this.getAll().forEach((query) => { query.onOnline(); }); }); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=queryCache.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/queryClient.cjs": /*!*************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/queryClient.cjs ***! \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/queryClient.ts var queryClient_exports = {}; __export(queryClient_exports, { QueryClient: () => QueryClient }); module.exports = __toCommonJS(queryClient_exports); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var import_queryCache = __webpack_require__(/*! ./queryCache.cjs */ "../node_modules/@tanstack/query-core/build/modern/queryCache.cjs"); var import_mutationCache = __webpack_require__(/*! ./mutationCache.cjs */ "../node_modules/@tanstack/query-core/build/modern/mutationCache.cjs"); var import_focusManager = __webpack_require__(/*! ./focusManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/focusManager.cjs"); var import_onlineManager = __webpack_require__(/*! ./onlineManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/onlineManager.cjs"); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_infiniteQueryBehavior = __webpack_require__(/*! ./infiniteQueryBehavior.cjs */ "../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs"); var QueryClient = class { #queryCache; #mutationCache; #defaultOptions; #queryDefaults; #mutationDefaults; #mountCount; #unsubscribeFocus; #unsubscribeOnline; constructor(config = {}) { this.#queryCache = config.queryCache || new import_queryCache.QueryCache(); this.#mutationCache = config.mutationCache || new import_mutationCache.MutationCache(); this.#defaultOptions = config.defaultOptions || {}; this.#queryDefaults = /* @__PURE__ */ new Map(); this.#mutationDefaults = /* @__PURE__ */ new Map(); this.#mountCount = 0; } mount() { this.#mountCount++; if (this.#mountCount !== 1) return; this.#unsubscribeFocus = import_focusManager.focusManager.subscribe(() => { if (import_focusManager.focusManager.isFocused()) { this.resumePausedMutations(); this.#queryCache.onFocus(); } }); this.#unsubscribeOnline = import_onlineManager.onlineManager.subscribe(() => { if (import_onlineManager.onlineManager.isOnline()) { this.resumePausedMutations(); this.#queryCache.onOnline(); } }); } unmount() { this.#mountCount--; if (this.#mountCount !== 0) return; this.#unsubscribeFocus?.(); this.#unsubscribeFocus = void 0; this.#unsubscribeOnline?.(); this.#unsubscribeOnline = void 0; } isFetching(filters) { return this.#queryCache.findAll({ ...filters, fetchStatus: "fetching" }).length; } isMutating(filters) { return this.#mutationCache.findAll({ ...filters, status: "pending" }).length; } getQueryData(queryKey) { return this.#queryCache.find({ queryKey })?.state.data; } ensureQueryData(options) { const cachedData = this.getQueryData(options.queryKey); return cachedData !== void 0 ? Promise.resolve(cachedData) : this.fetchQuery(options); } getQueriesData(filters) { return this.getQueryCache().findAll(filters).map(({ queryKey, state }) => { const data = state.data; return [queryKey, data]; }); } setQueryData(queryKey, updater, options) { const query = this.#queryCache.find({ queryKey }); const prevData = query?.state.data; const data = (0, import_utils.functionalUpdate)(updater, prevData); if (typeof data === "undefined") { return void 0; } const defaultedOptions = this.defaultQueryOptions({ queryKey }); return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true }); } setQueriesData(filters, updater, options) { return import_notifyManager.notifyManager.batch( () => this.getQueryCache().findAll(filters).map(({ queryKey }) => [ queryKey, this.setQueryData(queryKey, updater, options) ]) ); } getQueryState(queryKey) { return this.#queryCache.find({ queryKey })?.state; } removeQueries(filters) { const queryCache = this.#queryCache; import_notifyManager.notifyManager.batch(() => { queryCache.findAll(filters).forEach((query) => { queryCache.remove(query); }); }); } resetQueries(filters, options) { const queryCache = this.#queryCache; const refetchFilters = { type: "active", ...filters }; return import_notifyManager.notifyManager.batch(() => { queryCache.findAll(filters).forEach((query) => { query.reset(); }); return this.refetchQueries(refetchFilters, options); }); } cancelQueries(filters = {}, cancelOptions = {}) { const defaultedCancelOptions = { revert: true, ...cancelOptions }; const promises = import_notifyManager.notifyManager.batch( () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions)) ); return Promise.all(promises).then(import_utils.noop).catch(import_utils.noop); } invalidateQueries(filters = {}, options = {}) { return import_notifyManager.notifyManager.batch(() => { this.#queryCache.findAll(filters).forEach((query) => { query.invalidate(); }); if (filters.refetchType === "none") { return Promise.resolve(); } const refetchFilters = { ...filters, type: filters.refetchType ?? filters.type ?? "active" }; return this.refetchQueries(refetchFilters, options); }); } refetchQueries(filters = {}, options) { const fetchOptions = { ...options, cancelRefetch: options?.cancelRefetch ?? true }; const promises = import_notifyManager.notifyManager.batch( () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => { let promise = query.fetch(void 0, fetchOptions); if (!fetchOptions.throwOnError) { promise = promise.catch(import_utils.noop); } return query.state.fetchStatus === "paused" ? Promise.resolve() : promise; }) ); return Promise.all(promises).then(import_utils.noop); } fetchQuery(options) { const defaultedOptions = this.defaultQueryOptions(options); if (typeof defaultedOptions.retry === "undefined") { defaultedOptions.retry = false; } const query = this.#queryCache.build(this, defaultedOptions); return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); } prefetchQuery(options) { return this.fetchQuery(options).then(import_utils.noop).catch(import_utils.noop); } fetchInfiniteQuery(options) { options.behavior = (0, import_infiniteQueryBehavior.infiniteQueryBehavior)(options.pages); return this.fetchQuery(options); } prefetchInfiniteQuery(options) { return this.fetchInfiniteQuery(options).then(import_utils.noop).catch(import_utils.noop); } resumePausedMutations() { return this.#mutationCache.resumePausedMutations(); } getQueryCache() { return this.#queryCache; } getMutationCache() { return this.#mutationCache; } getDefaultOptions() { return this.#defaultOptions; } setDefaultOptions(options) { this.#defaultOptions = options; } setQueryDefaults(queryKey, options) { this.#queryDefaults.set((0, import_utils.hashKey)(queryKey), { queryKey, defaultOptions: options }); } getQueryDefaults(queryKey) { const defaults = [...this.#queryDefaults.values()]; let result = {}; defaults.forEach((queryDefault) => { if ((0, import_utils.partialMatchKey)(queryKey, queryDefault.queryKey)) { result = { ...result, ...queryDefault.defaultOptions }; } }); return result; } setMutationDefaults(mutationKey, options) { this.#mutationDefaults.set((0, import_utils.hashKey)(mutationKey), { mutationKey, defaultOptions: options }); } getMutationDefaults(mutationKey) { const defaults = [...this.#mutationDefaults.values()]; let result = {}; defaults.forEach((queryDefault) => { if ((0, import_utils.partialMatchKey)(mutationKey, queryDefault.mutationKey)) { result = { ...result, ...queryDefault.defaultOptions }; } }); return result; } defaultQueryOptions(options) { if (options?._defaulted) { return options; } const defaultedOptions = { ...this.#defaultOptions.queries, ...options?.queryKey && this.getQueryDefaults(options.queryKey), ...options, _defaulted: true }; if (!defaultedOptions.queryHash) { defaultedOptions.queryHash = (0, import_utils.hashQueryKeyByOptions)( defaultedOptions.queryKey, defaultedOptions ); } if (typeof defaultedOptions.refetchOnReconnect === "undefined") { defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== "always"; } if (typeof defaultedOptions.throwOnError === "undefined") { defaultedOptions.throwOnError = !!defaultedOptions.suspense; } if (typeof defaultedOptions.networkMode === "undefined" && defaultedOptions.persister) { defaultedOptions.networkMode = "offlineFirst"; } return defaultedOptions; } defaultMutationOptions(options) { if (options?._defaulted) { return options; } return { ...this.#defaultOptions.mutations, ...options?.mutationKey && this.getMutationDefaults(options.mutationKey), ...options, _defaulted: true }; } clear() { this.#queryCache.clear(); this.#mutationCache.clear(); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=queryClient.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/queryObserver.cjs": /*!***************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/queryObserver.cjs ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/queryObserver.ts var queryObserver_exports = {}; __export(queryObserver_exports, { QueryObserver: () => QueryObserver }); module.exports = __toCommonJS(queryObserver_exports); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var import_notifyManager = __webpack_require__(/*! ./notifyManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/notifyManager.cjs"); var import_focusManager = __webpack_require__(/*! ./focusManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/focusManager.cjs"); var import_subscribable = __webpack_require__(/*! ./subscribable.cjs */ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs"); var import_retryer = __webpack_require__(/*! ./retryer.cjs */ "../node_modules/@tanstack/query-core/build/modern/retryer.cjs"); var QueryObserver = class extends import_subscribable.Subscribable { constructor(client, options) { super(); this.#currentQuery = void 0; this.#currentQueryInitialState = void 0; this.#currentResult = void 0; this.#trackedProps = /* @__PURE__ */ new Set(); this.#client = client; this.options = options; this.#selectError = null; this.bindMethods(); this.setOptions(options); } #client; #currentQuery; #currentQueryInitialState; #currentResult; #currentResultState; #currentResultOptions; #selectError; #selectFn; #selectResult; // This property keeps track of the last query with defined data. // It will be used to pass the previous data and query to the placeholder function between renders. #lastQueryWithDefinedData; #staleTimeoutId; #refetchIntervalId; #currentRefetchInterval; #trackedProps; bindMethods() { this.refetch = this.refetch.bind(this); } onSubscribe() { if (this.listeners.size === 1) { this.#currentQuery.addObserver(this); if (shouldFetchOnMount(this.#currentQuery, this.options)) { this.#executeFetch(); } this.#updateTimers(); } } onUnsubscribe() { if (!this.hasListeners()) { this.destroy(); } } shouldFetchOnReconnect() { return shouldFetchOn( this.#currentQuery, this.options, this.options.refetchOnReconnect ); } shouldFetchOnWindowFocus() { return shouldFetchOn( this.#currentQuery, this.options, this.options.refetchOnWindowFocus ); } destroy() { this.listeners = /* @__PURE__ */ new Set(); this.#clearStaleTimeout(); this.#clearRefetchInterval(); this.#currentQuery.removeObserver(this); } setOptions(options, notifyOptions) { const prevOptions = this.options; const prevQuery = this.#currentQuery; this.options = this.#client.defaultQueryOptions(options); if (!(0, import_utils.shallowEqualObjects)(prevOptions, this.options)) { this.#client.getQueryCache().notify({ type: "observerOptionsUpdated", query: this.#currentQuery, observer: this }); } if (typeof this.options.enabled !== "undefined" && typeof this.options.enabled !== "boolean") { throw new Error("Expected enabled to be a boolean"); } if (!this.options.queryKey) { this.options.queryKey = prevOptions.queryKey; } this.#updateQuery(); const mounted = this.hasListeners(); if (mounted && shouldFetchOptionally( this.#currentQuery, prevQuery, this.options, prevOptions )) { this.#executeFetch(); } this.updateResult(notifyOptions); if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) { this.#updateStaleTimeout(); } const nextRefetchInterval = this.#computeRefetchInterval(); if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) { this.#updateRefetchInterval(nextRefetchInterval); } } getOptimisticResult(options) { const query = this.#client.getQueryCache().build(this.#client, options); const result = this.createResult(query, options); if (shouldAssignObserverCurrentProperties(this, result)) { this.#currentResult = result; this.#currentResultOptions = this.options; this.#currentResultState = this.#currentQuery.state; } return result; } getCurrentResult() { return this.#currentResult; } trackResult(result) { const trackedResult = {}; Object.keys(result).forEach((key) => { Object.defineProperty(trackedResult, key, { configurable: false, enumerable: true, get: () => { this.#trackedProps.add(key); return result[key]; } }); }); return trackedResult; } getCurrentQuery() { return this.#currentQuery; } refetch({ ...options } = {}) { return this.fetch({ ...options }); } fetchOptimistic(options) { const defaultedOptions = this.#client.defaultQueryOptions(options); const query = this.#client.getQueryCache().build(this.#client, defaultedOptions); query.isFetchingOptimistic = true; return query.fetch().then(() => this.createResult(query, defaultedOptions)); } fetch(fetchOptions) { return this.#executeFetch({ ...fetchOptions, cancelRefetch: fetchOptions.cancelRefetch ?? true }).then(() => { this.updateResult(); return this.#currentResult; }); } #executeFetch(fetchOptions) { this.#updateQuery(); let promise = this.#currentQuery.fetch( this.options, fetchOptions ); if (!fetchOptions?.throwOnError) { promise = promise.catch(import_utils.noop); } return promise; } #updateStaleTimeout() { this.#clearStaleTimeout(); if (import_utils.isServer || this.#currentResult.isStale || !(0, import_utils.isValidTimeout)(this.options.staleTime)) { return; } const time = (0, import_utils.timeUntilStale)( this.#currentResult.dataUpdatedAt, this.options.staleTime ); const timeout = time + 1; this.#staleTimeoutId = setTimeout(() => { if (!this.#currentResult.isStale) { this.updateResult(); } }, timeout); } #computeRefetchInterval() { return (typeof this.options.refetchInterval === "function" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false; } #updateRefetchInterval(nextInterval) { this.#clearRefetchInterval(); this.#currentRefetchInterval = nextInterval; if (import_utils.isServer || this.options.enabled === false || !(0, import_utils.isValidTimeout)(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) { return; } this.#refetchIntervalId = setInterval(() => { if (this.options.refetchIntervalInBackground || import_focusManager.focusManager.isFocused()) { this.#executeFetch(); } }, this.#currentRefetchInterval); } #updateTimers() { this.#updateStaleTimeout(); this.#updateRefetchInterval(this.#computeRefetchInterval()); } #clearStaleTimeout() { if (this.#staleTimeoutId) { clearTimeout(this.#staleTimeoutId); this.#staleTimeoutId = void 0; } } #clearRefetchInterval() { if (this.#refetchIntervalId) { clearInterval(this.#refetchIntervalId); this.#refetchIntervalId = void 0; } } createResult(query, options) { const prevQuery = this.#currentQuery; const prevOptions = this.options; const prevResult = this.#currentResult; const prevResultState = this.#currentResultState; const prevResultOptions = this.#currentResultOptions; const queryChange = query !== prevQuery; const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState; const { state } = query; let { error, errorUpdatedAt, fetchStatus, status } = state; let isPlaceholderData = false; let data; if (options._optimisticResults) { const mounted = this.hasListeners(); const fetchOnMount = !mounted && shouldFetchOnMount(query, options); const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions); if (fetchOnMount || fetchOptionally) { fetchStatus = (0, import_retryer.canFetch)(query.options.networkMode) ? "fetching" : "paused"; if (!state.dataUpdatedAt) { status = "pending"; } } if (options._optimisticResults === "isRestoring") { fetchStatus = "idle"; } } if (options.select && typeof state.data !== "undefined") { if (prevResult && state.data === prevResultState?.data && options.select === this.#selectFn) { data = this.#selectResult; } else { try { this.#selectFn = options.select; data = options.select(state.data); data = (0, import_utils.replaceData)(prevResult?.data, data, options); this.#selectResult = data; this.#selectError = null; } catch (selectError) { this.#selectError = selectError; } } } else { data = state.data; } if (typeof options.placeholderData !== "undefined" && typeof data === "undefined" && status === "pending") { let placeholderData; if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) { placeholderData = prevResult.data; } else { placeholderData = typeof options.placeholderData === "function" ? options.placeholderData( this.#lastQueryWithDefinedData?.state.data, this.#lastQueryWithDefinedData ) : options.placeholderData; if (options.select && typeof placeholderData !== "undefined") { try { placeholderData = options.select(placeholderData); this.#selectError = null; } catch (selectError) { this.#selectError = selectError; } } } if (typeof placeholderData !== "undefined") { status = "success"; data = (0, import_utils.replaceData)( prevResult?.data, placeholderData, options ); isPlaceholderData = true; } } if (this.#selectError) { error = this.#selectError; data = this.#selectResult; errorUpdatedAt = Date.now(); status = "error"; } const isFetching = fetchStatus === "fetching"; const isPending = status === "pending"; const isError = status === "error"; const isLoading = isPending && isFetching; const result = { status, fetchStatus, isPending, isSuccess: status === "success", isError, isInitialLoading: isLoading, isLoading, data, dataUpdatedAt: state.dataUpdatedAt, error, errorUpdatedAt, failureCount: state.fetchFailureCount, failureReason: state.fetchFailureReason, errorUpdateCount: state.errorUpdateCount, isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0, isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount, isFetching, isRefetching: isFetching && !isPending, isLoadingError: isError && state.dataUpdatedAt === 0, isPaused: fetchStatus === "paused", isPlaceholderData, isRefetchError: isError && state.dataUpdatedAt !== 0, isStale: isStale(query, options), refetch: this.refetch }; return result; } updateResult(notifyOptions) { const prevResult = this.#currentResult; const nextResult = this.createResult(this.#currentQuery, this.options); this.#currentResultState = this.#currentQuery.state; this.#currentResultOptions = this.options; if ((0, import_utils.shallowEqualObjects)(nextResult, prevResult)) { return; } if (this.#currentResultState.data !== void 0) { this.#lastQueryWithDefinedData = this.#currentQuery; } this.#currentResult = nextResult; const defaultNotifyOptions = {}; const shouldNotifyListeners = () => { if (!prevResult) { return true; } const { notifyOnChangeProps } = this.options; const notifyOnChangePropsValue = typeof notifyOnChangeProps === "function" ? notifyOnChangeProps() : notifyOnChangeProps; if (notifyOnChangePropsValue === "all" || !notifyOnChangePropsValue && !this.#trackedProps.size) { return true; } const includedProps = new Set( notifyOnChangePropsValue ?? this.#trackedProps ); if (this.options.throwOnError) { includedProps.add("error"); } return Object.keys(this.#currentResult).some((key) => { const typedKey = key; const changed = this.#currentResult[typedKey] !== prevResult[typedKey]; return changed && includedProps.has(typedKey); }); }; if (notifyOptions?.listeners !== false && shouldNotifyListeners()) { defaultNotifyOptions.listeners = true; } this.#notify({ ...defaultNotifyOptions, ...notifyOptions }); } #updateQuery() { const query = this.#client.getQueryCache().build(this.#client, this.options); if (query === this.#currentQuery) { return; } const prevQuery = this.#currentQuery; this.#currentQuery = query; this.#currentQueryInitialState = query.state; if (this.hasListeners()) { prevQuery?.removeObserver(this); query.addObserver(this); } } onQueryUpdate() { this.updateResult(); if (this.hasListeners()) { this.#updateTimers(); } } #notify(notifyOptions) { import_notifyManager.notifyManager.batch(() => { if (notifyOptions.listeners) { this.listeners.forEach((listener) => { listener(this.#currentResult); }); } this.#client.getQueryCache().notify({ query: this.#currentQuery, type: "observerResultsUpdated" }); }); } }; function shouldLoadOnMount(query, options) { return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === "error" && options.retryOnMount === false); } function shouldFetchOnMount(query, options) { return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount); } function shouldFetchOn(query, options, field) { if (options.enabled !== false) { const value = typeof field === "function" ? field(query) : field; return value === "always" || value !== false && isStale(query, options); } return false; } function shouldFetchOptionally(query, prevQuery, options, prevOptions) { return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); } function isStale(query, options) { return query.isStaleByTime(options.staleTime); } function shouldAssignObserverCurrentProperties(observer, optimisticResult) { if (!(0, import_utils.shallowEqualObjects)(observer.getCurrentResult(), optimisticResult)) { return true; } return false; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=queryObserver.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/removable.cjs": /*!***********************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/removable.cjs ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/removable.ts var removable_exports = {}; __export(removable_exports, { Removable: () => Removable }); module.exports = __toCommonJS(removable_exports); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); var Removable = class { #gcTimeout; destroy() { this.clearGcTimeout(); } scheduleGc() { this.clearGcTimeout(); if ((0, import_utils.isValidTimeout)(this.gcTime)) { this.#gcTimeout = setTimeout(() => { this.optionalRemove(); }, this.gcTime); } } updateGcTime(newGcTime) { this.gcTime = Math.max( this.gcTime || 0, newGcTime ?? (import_utils.isServer ? Infinity : 5 * 60 * 1e3) ); } clearGcTimeout() { if (this.#gcTimeout) { clearTimeout(this.#gcTimeout); this.#gcTimeout = void 0; } } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=removable.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/retryer.cjs": /*!*********************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/retryer.cjs ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/retryer.ts var retryer_exports = {}; __export(retryer_exports, { CancelledError: () => CancelledError, canFetch: () => canFetch, createRetryer: () => createRetryer, isCancelledError: () => isCancelledError }); module.exports = __toCommonJS(retryer_exports); var import_focusManager = __webpack_require__(/*! ./focusManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/focusManager.cjs"); var import_onlineManager = __webpack_require__(/*! ./onlineManager.cjs */ "../node_modules/@tanstack/query-core/build/modern/onlineManager.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/query-core/build/modern/utils.cjs"); function defaultRetryDelay(failureCount) { return Math.min(1e3 * 2 ** failureCount, 3e4); } function canFetch(networkMode) { return (networkMode ?? "online") === "online" ? import_onlineManager.onlineManager.isOnline() : true; } var CancelledError = class { constructor(options) { this.revert = options?.revert; this.silent = options?.silent; } }; function isCancelledError(value) { return value instanceof CancelledError; } function createRetryer(config) { let isRetryCancelled = false; let failureCount = 0; let isResolved = false; let continueFn; let promiseResolve; let promiseReject; const promise = new Promise((outerResolve, outerReject) => { promiseResolve = outerResolve; promiseReject = outerReject; }); const cancel = (cancelOptions) => { if (!isResolved) { reject(new CancelledError(cancelOptions)); config.abort?.(); } }; const cancelRetry = () => { isRetryCancelled = true; }; const continueRetry = () => { isRetryCancelled = false; }; const shouldPause = () => !import_focusManager.focusManager.isFocused() || config.networkMode !== "always" && !import_onlineManager.onlineManager.isOnline(); const resolve = (value) => { if (!isResolved) { isResolved = true; config.onSuccess?.(value); continueFn?.(); promiseResolve(value); } }; const reject = (value) => { if (!isResolved) { isResolved = true; config.onError?.(value); continueFn?.(); promiseReject(value); } }; const pause = () => { return new Promise((continueResolve) => { continueFn = (value) => { const canContinue = isResolved || !shouldPause(); if (canContinue) { continueResolve(value); } return canContinue; }; config.onPause?.(); }).then(() => { continueFn = void 0; if (!isResolved) { config.onContinue?.(); } }); }; const run = () => { if (isResolved) { return; } let promiseOrValue; try { promiseOrValue = config.fn(); } catch (error) { promiseOrValue = Promise.reject(error); } Promise.resolve(promiseOrValue).then(resolve).catch((error) => { if (isResolved) { return; } const retry = config.retry ?? (import_utils.isServer ? 0 : 3); const retryDelay = config.retryDelay ?? defaultRetryDelay; const delay = typeof retryDelay === "function" ? retryDelay(failureCount, error) : retryDelay; const shouldRetry = retry === true || typeof retry === "number" && failureCount < retry || typeof retry === "function" && retry(failureCount, error); if (isRetryCancelled || !shouldRetry) { reject(error); return; } failureCount++; config.onFail?.(failureCount, error); (0, import_utils.sleep)(delay).then(() => { if (shouldPause()) { return pause(); } return; }).then(() => { if (isRetryCancelled) { reject(error); } else { run(); } }); }); }; if (canFetch(config.networkMode)) { run(); } else { pause().then(run); } return { promise, cancel, continue: () => { const didContinue = continueFn?.(); return didContinue ? promise : Promise.resolve(); }, cancelRetry, continueRetry }; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=retryer.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/subscribable.cjs": /*!**************************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/subscribable.cjs ***! \**************************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/subscribable.ts var subscribable_exports = {}; __export(subscribable_exports, { Subscribable: () => Subscribable }); module.exports = __toCommonJS(subscribable_exports); var Subscribable = class { constructor() { this.listeners = /* @__PURE__ */ new Set(); this.subscribe = this.subscribe.bind(this); } subscribe(listener) { this.listeners.add(listener); this.onSubscribe(); return () => { this.listeners.delete(listener); this.onUnsubscribe(); }; } hasListeners() { return this.listeners.size > 0; } onSubscribe() { } onUnsubscribe() { } }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=subscribable.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/types.cjs": /*!*******************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/types.cjs ***! \*******************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/types.ts var types_exports = {}; module.exports = __toCommonJS(types_exports); //# sourceMappingURL=types.cjs.map /***/ }), /***/ "../node_modules/@tanstack/query-core/build/modern/utils.cjs": /*!*******************************************************************!*\ !*** ../node_modules/@tanstack/query-core/build/modern/utils.cjs ***! \*******************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/utils.ts var utils_exports = {}; __export(utils_exports, { addToEnd: () => addToEnd, addToStart: () => addToStart, functionalUpdate: () => functionalUpdate, hashKey: () => hashKey, hashQueryKeyByOptions: () => hashQueryKeyByOptions, isPlainArray: () => isPlainArray, isPlainObject: () => isPlainObject, isServer: () => isServer, isValidTimeout: () => isValidTimeout, keepPreviousData: () => keepPreviousData, matchMutation: () => matchMutation, matchQuery: () => matchQuery, noop: () => noop, partialMatchKey: () => partialMatchKey, replaceData: () => replaceData, replaceEqualDeep: () => replaceEqualDeep, scheduleMicrotask: () => scheduleMicrotask, shallowEqualObjects: () => shallowEqualObjects, sleep: () => sleep, timeUntilStale: () => timeUntilStale }); module.exports = __toCommonJS(utils_exports); var isServer = typeof window === "undefined" || "Deno" in window; function noop() { return void 0; } function functionalUpdate(updater, input) { return typeof updater === "function" ? updater(input) : updater; } function isValidTimeout(value) { return typeof value === "number" && value >= 0 && value !== Infinity; } function timeUntilStale(updatedAt, staleTime) { return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0); } function matchQuery(filters, query) { const { type = "all", exact, fetchStatus, predicate, queryKey, stale } = filters; if (queryKey) { if (exact) { if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) { return false; } } else if (!partialMatchKey(query.queryKey, queryKey)) { return false; } } if (type !== "all") { const isActive = query.isActive(); if (type === "active" && !isActive) { return false; } if (type === "inactive" && isActive) { return false; } } if (typeof stale === "boolean" && query.isStale() !== stale) { return false; } if (typeof fetchStatus !== "undefined" && fetchStatus !== query.state.fetchStatus) { return false; } if (predicate && !predicate(query)) { return false; } return true; } function matchMutation(filters, mutation) { const { exact, status, predicate, mutationKey } = filters; if (mutationKey) { if (!mutation.options.mutationKey) { return false; } if (exact) { if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) { return false; } } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) { return false; } } if (status && mutation.state.status !== status) { return false; } if (predicate && !predicate(mutation)) { return false; } return true; } function hashQueryKeyByOptions(queryKey, options) { const hashFn = options?.queryKeyHashFn || hashKey; return hashFn(queryKey); } function hashKey(queryKey) { return JSON.stringify( queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => { result[key] = val[key]; return result; }, {}) : val ); } function partialMatchKey(a, b) { if (a === b) { return true; } if (typeof a !== typeof b) { return false; } if (a && b && typeof a === "object" && typeof b === "object") { return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key])); } return false; } function replaceEqualDeep(a, b) { if (a === b) { return a; } const array = isPlainArray(a) && isPlainArray(b); if (array || isPlainObject(a) && isPlainObject(b)) { const aSize = array ? a.length : Object.keys(a).length; const bItems = array ? b : Object.keys(b); const bSize = bItems.length; const copy = array ? [] : {}; let equalItems = 0; for (let i = 0; i < bSize; i++) { const key = array ? i : bItems[i]; copy[key] = replaceEqualDeep(a[key], b[key]); if (copy[key] === a[key]) { equalItems++; } } return aSize === bSize && equalItems === aSize ? a : copy; } return b; } function shallowEqualObjects(a, b) { if (a && !b || b && !a) { return false; } for (const key in a) { if (a[key] !== b[key]) { return false; } } return true; } function isPlainArray(value) { return Array.isArray(value) && value.length === Object.keys(value).length; } function isPlainObject(o) { if (!hasObjectPrototype(o)) { return false; } const ctor = o.constructor; if (typeof ctor === "undefined") { return true; } const prot = ctor.prototype; if (!hasObjectPrototype(prot)) { return false; } if (!prot.hasOwnProperty("isPrototypeOf")) { return false; } return true; } function hasObjectPrototype(o) { return Object.prototype.toString.call(o) === "[object Object]"; } function sleep(timeout) { return new Promise((resolve) => { setTimeout(resolve, timeout); }); } function scheduleMicrotask(callback) { sleep(0).then(callback); } function replaceData(prevData, data, options) { if (typeof options.structuralSharing === "function") { return options.structuralSharing(prevData, data); } else if (options.structuralSharing !== false) { return replaceEqualDeep(prevData, data); } return data; } function keepPreviousData(previousData) { return previousData; } function addToEnd(items, item, max = 0) { const newItems = [...items, item]; return max && newItems.length > max ? newItems.slice(1) : newItems; } function addToStart(items, item, max = 0) { const newItems = [item, ...items]; return max && newItems.length > max ? newItems.slice(0, -1) : newItems; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=utils.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/HydrationBoundary.cjs": /*!********************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/HydrationBoundary.cjs ***! \********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/HydrationBoundary.tsx var HydrationBoundary_exports = {}; __export(HydrationBoundary_exports, { HydrationBoundary: () => HydrationBoundary }); module.exports = __toCommonJS(HydrationBoundary_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_QueryClientProvider = __webpack_require__(/*! ./QueryClientProvider.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"); var HydrationBoundary = ({ children, options = {}, state, queryClient }) => { const client = (0, import_QueryClientProvider.useQueryClient)(queryClient); const [hydrationQueue, setHydrationQueue] = React.useState(); const optionsRef = React.useRef(options); optionsRef.current = options; React.useMemo(() => { if (state) { if (typeof state !== "object") { return; } const queryCache = client.getQueryCache(); const queries = state.queries || []; const newQueries = []; const existingQueries = []; for (const dehydratedQuery of queries) { const existingQuery = queryCache.get(dehydratedQuery.queryHash); if (!existingQuery) { newQueries.push(dehydratedQuery); } else { const hydrationIsNewer = dehydratedQuery.state.dataUpdatedAt > existingQuery.state.dataUpdatedAt; const queryAlreadyQueued = hydrationQueue?.find( (query) => query.queryHash === dehydratedQuery.queryHash ); if (hydrationIsNewer && (!queryAlreadyQueued || dehydratedQuery.state.dataUpdatedAt > queryAlreadyQueued.state.dataUpdatedAt)) { existingQueries.push(dehydratedQuery); } } } if (newQueries.length > 0) { (0, import_query_core.hydrate)(client, { queries: newQueries }, optionsRef.current); } if (existingQueries.length > 0) { setHydrationQueue( (prev) => prev ? [...prev, ...existingQueries] : existingQueries ); } } }, [client, hydrationQueue, state]); React.useEffect(() => { if (hydrationQueue) { (0, import_query_core.hydrate)(client, { queries: hydrationQueue }, optionsRef.current); setHydrationQueue(void 0); } }, [client, hydrationQueue]); return children; }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=HydrationBoundary.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs": /*!**********************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/QueryClientProvider.tsx var QueryClientProvider_exports = {}; __export(QueryClientProvider_exports, { QueryClientContext: () => QueryClientContext, QueryClientProvider: () => QueryClientProvider, useQueryClient: () => useQueryClient }); module.exports = __toCommonJS(QueryClientProvider_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var QueryClientContext = React.createContext( void 0 ); var useQueryClient = (queryClient) => { const client = React.useContext(QueryClientContext); if (queryClient) { return queryClient; } if (!client) { throw new Error("No QueryClient set, use QueryClientProvider to set one"); } return client; }; var QueryClientProvider = ({ client, children }) => { React.useEffect(() => { client.mount(); return () => { client.unmount(); }; }, [client]); return /* @__PURE__ */ React.createElement(QueryClientContext.Provider, { value: client }, children); }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=QueryClientProvider.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.cjs": /*!**************************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.cjs ***! \**************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/QueryErrorResetBoundary.tsx var QueryErrorResetBoundary_exports = {}; __export(QueryErrorResetBoundary_exports, { QueryErrorResetBoundary: () => QueryErrorResetBoundary, useQueryErrorResetBoundary: () => useQueryErrorResetBoundary }); module.exports = __toCommonJS(QueryErrorResetBoundary_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); function createValue() { let isReset = false; return { clearReset: () => { isReset = false; }, reset: () => { isReset = true; }, isReset: () => { return isReset; } }; } var QueryErrorResetBoundaryContext = React.createContext(createValue()); var useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext); var QueryErrorResetBoundary = ({ children }) => { const [value] = React.useState(() => createValue()); return /* @__PURE__ */ React.createElement(QueryErrorResetBoundaryContext.Provider, { value }, typeof children === "function" ? children(value) : children); }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=QueryErrorResetBoundary.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.cjs": /*!*********************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.cjs ***! \*********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/errorBoundaryUtils.ts var errorBoundaryUtils_exports = {}; __export(errorBoundaryUtils_exports, { ensurePreventErrorBoundaryRetry: () => ensurePreventErrorBoundaryRetry, getHasError: () => getHasError, useClearResetErrorBoundary: () => useClearResetErrorBoundary }); module.exports = __toCommonJS(errorBoundaryUtils_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/react-query/build/modern/utils.cjs"); var ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => { if (options.suspense || options.throwOnError) { if (!errorResetBoundary.isReset()) { options.retryOnMount = false; } } }; var useClearResetErrorBoundary = (errorResetBoundary) => { React.useEffect(() => { errorResetBoundary.clearReset(); }, [errorResetBoundary]); }; var getHasError = ({ result, errorResetBoundary, throwOnError, query }) => { return result.isError && !errorResetBoundary.isReset() && !result.isFetching && (0, import_utils.shouldThrowError)(throwOnError, [result.error, query]); }; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=errorBoundaryUtils.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/index.cjs": /*!********************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/index.cjs ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { HydrationBoundary: () => import_HydrationBoundary.HydrationBoundary, IsRestoringProvider: () => import_isRestoring.IsRestoringProvider, QueryClientContext: () => import_QueryClientProvider.QueryClientContext, QueryClientProvider: () => import_QueryClientProvider.QueryClientProvider, QueryErrorResetBoundary: () => import_QueryErrorResetBoundary.QueryErrorResetBoundary, infiniteQueryOptions: () => import_infiniteQueryOptions.infiniteQueryOptions, queryOptions: () => import_queryOptions.queryOptions, useInfiniteQuery: () => import_useInfiniteQuery.useInfiniteQuery, useIsFetching: () => import_useIsFetching.useIsFetching, useIsMutating: () => import_useMutationState.useIsMutating, useIsRestoring: () => import_isRestoring.useIsRestoring, useMutation: () => import_useMutation.useMutation, useMutationState: () => import_useMutationState.useMutationState, useQueries: () => import_useQueries.useQueries, useQuery: () => import_useQuery.useQuery, useQueryClient: () => import_QueryClientProvider.useQueryClient, useQueryErrorResetBoundary: () => import_QueryErrorResetBoundary.useQueryErrorResetBoundary, useSuspenseInfiniteQuery: () => import_useSuspenseInfiniteQuery.useSuspenseInfiniteQuery, useSuspenseQueries: () => import_useSuspenseQueries.useSuspenseQueries, useSuspenseQuery: () => import_useSuspenseQuery.useSuspenseQuery }); module.exports = __toCommonJS(src_exports); __reExport(src_exports, __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"), module.exports); __reExport(src_exports, __webpack_require__(/*! ./types.cjs */ "../node_modules/@tanstack/react-query/build/modern/types.cjs"), module.exports); var import_useQueries = __webpack_require__(/*! ./useQueries.cjs */ "../node_modules/@tanstack/react-query/build/modern/useQueries.cjs"); var import_useQuery = __webpack_require__(/*! ./useQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useQuery.cjs"); var import_useSuspenseQuery = __webpack_require__(/*! ./useSuspenseQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.cjs"); var import_useSuspenseInfiniteQuery = __webpack_require__(/*! ./useSuspenseInfiniteQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useSuspenseInfiniteQuery.cjs"); var import_useSuspenseQueries = __webpack_require__(/*! ./useSuspenseQueries.cjs */ "../node_modules/@tanstack/react-query/build/modern/useSuspenseQueries.cjs"); var import_queryOptions = __webpack_require__(/*! ./queryOptions.cjs */ "../node_modules/@tanstack/react-query/build/modern/queryOptions.cjs"); var import_infiniteQueryOptions = __webpack_require__(/*! ./infiniteQueryOptions.cjs */ "../node_modules/@tanstack/react-query/build/modern/infiniteQueryOptions.cjs"); var import_QueryClientProvider = __webpack_require__(/*! ./QueryClientProvider.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"); var import_HydrationBoundary = __webpack_require__(/*! ./HydrationBoundary.cjs */ "../node_modules/@tanstack/react-query/build/modern/HydrationBoundary.cjs"); var import_QueryErrorResetBoundary = __webpack_require__(/*! ./QueryErrorResetBoundary.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.cjs"); var import_useIsFetching = __webpack_require__(/*! ./useIsFetching.cjs */ "../node_modules/@tanstack/react-query/build/modern/useIsFetching.cjs"); var import_useMutationState = __webpack_require__(/*! ./useMutationState.cjs */ "../node_modules/@tanstack/react-query/build/modern/useMutationState.cjs"); var import_useMutation = __webpack_require__(/*! ./useMutation.cjs */ "../node_modules/@tanstack/react-query/build/modern/useMutation.cjs"); var import_useInfiniteQuery = __webpack_require__(/*! ./useInfiniteQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.cjs"); var import_isRestoring = __webpack_require__(/*! ./isRestoring.cjs */ "../node_modules/@tanstack/react-query/build/modern/isRestoring.cjs"); // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=index.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/infiniteQueryOptions.cjs": /*!***********************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/infiniteQueryOptions.cjs ***! \***********************************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/infiniteQueryOptions.ts var infiniteQueryOptions_exports = {}; __export(infiniteQueryOptions_exports, { infiniteQueryOptions: () => infiniteQueryOptions }); module.exports = __toCommonJS(infiniteQueryOptions_exports); function infiniteQueryOptions(options) { return options; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=infiniteQueryOptions.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/isRestoring.cjs": /*!**************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/isRestoring.cjs ***! \**************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/isRestoring.ts var isRestoring_exports = {}; __export(isRestoring_exports, { IsRestoringProvider: () => IsRestoringProvider, useIsRestoring: () => useIsRestoring }); module.exports = __toCommonJS(isRestoring_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var IsRestoringContext = React.createContext(false); var useIsRestoring = () => React.useContext(IsRestoringContext); var IsRestoringProvider = IsRestoringContext.Provider; // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=isRestoring.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/queryOptions.cjs": /*!***************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/queryOptions.cjs ***! \***************************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/queryOptions.ts var queryOptions_exports = {}; __export(queryOptions_exports, { queryOptions: () => queryOptions }); module.exports = __toCommonJS(queryOptions_exports); function queryOptions(options) { return options; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=queryOptions.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/suspense.cjs": /*!***********************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/suspense.cjs ***! \***********************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/suspense.ts var suspense_exports = {}; __export(suspense_exports, { defaultThrowOnError: () => defaultThrowOnError, ensureStaleTime: () => ensureStaleTime, fetchOptimistic: () => fetchOptimistic, shouldSuspend: () => shouldSuspend, willFetch: () => willFetch }); module.exports = __toCommonJS(suspense_exports); var defaultThrowOnError = (_error, query) => typeof query.state.data === "undefined"; var ensureStaleTime = (defaultedOptions) => { if (defaultedOptions.suspense) { if (typeof defaultedOptions.staleTime !== "number") { defaultedOptions.staleTime = 1e3; } } }; var willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring; var shouldSuspend = (defaultedOptions, result, isRestoring) => defaultedOptions?.suspense && willFetch(result, isRestoring); var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => { errorResetBoundary.clearReset(); }); // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=suspense.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/types.cjs": /*!********************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/types.cjs ***! \********************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/types.ts var types_exports = {}; module.exports = __toCommonJS(types_exports); //# sourceMappingURL=types.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs": /*!***************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useBaseQuery.ts var useBaseQuery_exports = {}; __export(useBaseQuery_exports, { useBaseQuery: () => useBaseQuery }); module.exports = __toCommonJS(useBaseQuery_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_QueryErrorResetBoundary = __webpack_require__(/*! ./QueryErrorResetBoundary.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.cjs"); var import_QueryClientProvider = __webpack_require__(/*! ./QueryClientProvider.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"); var import_isRestoring = __webpack_require__(/*! ./isRestoring.cjs */ "../node_modules/@tanstack/react-query/build/modern/isRestoring.cjs"); var import_errorBoundaryUtils = __webpack_require__(/*! ./errorBoundaryUtils.cjs */ "../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.cjs"); var import_suspense = __webpack_require__(/*! ./suspense.cjs */ "../node_modules/@tanstack/react-query/build/modern/suspense.cjs"); function useBaseQuery(options, Observer, queryClient) { if (true) { if (typeof options !== "object" || Array.isArray(options)) { throw new Error( 'Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object' ); } } const client = (0, import_QueryClientProvider.useQueryClient)(queryClient); const isRestoring = (0, import_isRestoring.useIsRestoring)(); const errorResetBoundary = (0, import_QueryErrorResetBoundary.useQueryErrorResetBoundary)(); const defaultedOptions = client.defaultQueryOptions(options); defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic"; (0, import_suspense.ensureStaleTime)(defaultedOptions); (0, import_errorBoundaryUtils.ensurePreventErrorBoundaryRetry)(defaultedOptions, errorResetBoundary); (0, import_errorBoundaryUtils.useClearResetErrorBoundary)(errorResetBoundary); const [observer] = React.useState( () => new Observer( client, defaultedOptions ) ); const result = observer.getOptimisticResult(defaultedOptions); React.useSyncExternalStore( React.useCallback( (onStoreChange) => { const unsubscribe = isRestoring ? () => void 0 : observer.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)); observer.updateResult(); return unsubscribe; }, [observer, isRestoring] ), () => observer.getCurrentResult(), () => observer.getCurrentResult() ); React.useEffect(() => { observer.setOptions(defaultedOptions, { listeners: false }); }, [defaultedOptions, observer]); if ((0, import_suspense.shouldSuspend)(defaultedOptions, result, isRestoring)) { throw (0, import_suspense.fetchOptimistic)(defaultedOptions, observer, errorResetBoundary); } if ((0, import_errorBoundaryUtils.getHasError)({ result, errorResetBoundary, throwOnError: defaultedOptions.throwOnError, query: observer.getCurrentQuery() })) { throw result.error; } return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useBaseQuery.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.cjs": /*!*******************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.cjs ***! \*******************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useInfiniteQuery.ts var useInfiniteQuery_exports = {}; __export(useInfiniteQuery_exports, { useInfiniteQuery: () => useInfiniteQuery }); module.exports = __toCommonJS(useInfiniteQuery_exports); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_useBaseQuery = __webpack_require__(/*! ./useBaseQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs"); function useInfiniteQuery(options, queryClient) { return (0, import_useBaseQuery.useBaseQuery)( options, // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion import_query_core.InfiniteQueryObserver, queryClient ); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useInfiniteQuery.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useIsFetching.cjs": /*!****************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useIsFetching.cjs ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useIsFetching.ts var useIsFetching_exports = {}; __export(useIsFetching_exports, { useIsFetching: () => useIsFetching }); module.exports = __toCommonJS(useIsFetching_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_QueryClientProvider = __webpack_require__(/*! ./QueryClientProvider.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"); function useIsFetching(filters, queryClient) { const client = (0, import_QueryClientProvider.useQueryClient)(queryClient); const queryCache = client.getQueryCache(); return React.useSyncExternalStore( React.useCallback( (onStoreChange) => queryCache.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)), [queryCache] ), () => client.isFetching(filters), () => client.isFetching(filters) ); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useIsFetching.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useMutation.cjs": /*!**************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useMutation.cjs ***! \**************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useMutation.ts var useMutation_exports = {}; __export(useMutation_exports, { useMutation: () => useMutation }); module.exports = __toCommonJS(useMutation_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_QueryClientProvider = __webpack_require__(/*! ./QueryClientProvider.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"); var import_utils = __webpack_require__(/*! ./utils.cjs */ "../node_modules/@tanstack/react-query/build/modern/utils.cjs"); function useMutation(options, queryClient) { const client = (0, import_QueryClientProvider.useQueryClient)(queryClient); const [observer] = React.useState( () => new import_query_core.MutationObserver( client, options ) ); React.useEffect(() => { observer.setOptions(options); }, [observer, options]); const result = React.useSyncExternalStore( React.useCallback( (onStoreChange) => observer.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)), [observer] ), () => observer.getCurrentResult(), () => observer.getCurrentResult() ); const mutate = React.useCallback( (variables, mutateOptions) => { observer.mutate(variables, mutateOptions).catch(noop); }, [observer] ); if (result.error && (0, import_utils.shouldThrowError)(observer.options.throwOnError, [result.error])) { throw result.error; } return { ...result, mutate, mutateAsync: result.mutate }; } function noop() { } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useMutation.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useMutationState.cjs": /*!*******************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useMutationState.cjs ***! \*******************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useMutationState.ts var useMutationState_exports = {}; __export(useMutationState_exports, { useIsMutating: () => useIsMutating, useMutationState: () => useMutationState }); module.exports = __toCommonJS(useMutationState_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_QueryClientProvider = __webpack_require__(/*! ./QueryClientProvider.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"); function useIsMutating(filters, queryClient) { const client = (0, import_QueryClientProvider.useQueryClient)(queryClient); return useMutationState( { filters: { ...filters, status: "pending" } }, client ).length; } function getResult(mutationCache, options) { return mutationCache.findAll(options.filters).map( (mutation) => options.select ? options.select( mutation ) : mutation.state ); } function useMutationState(options = {}, queryClient) { const mutationCache = (0, import_QueryClientProvider.useQueryClient)(queryClient).getMutationCache(); const optionsRef = React.useRef(options); const result = React.useRef(); if (!result.current) { result.current = getResult(mutationCache, options); } React.useEffect(() => { optionsRef.current = options; }); return React.useSyncExternalStore( React.useCallback( (onStoreChange) => mutationCache.subscribe(() => { const nextResult = (0, import_query_core.replaceEqualDeep)( result.current, getResult(mutationCache, optionsRef.current) ); if (result.current !== nextResult) { result.current = nextResult; import_query_core.notifyManager.schedule(onStoreChange); } }), [mutationCache] ), () => result.current, () => result.current ); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useMutationState.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useQueries.cjs": /*!*************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useQueries.cjs ***! \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useQueries.ts var useQueries_exports = {}; __export(useQueries_exports, { useQueries: () => useQueries }); module.exports = __toCommonJS(useQueries_exports); var React = __toESM(__webpack_require__(/*! react */ "react"), 1); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_QueryClientProvider = __webpack_require__(/*! ./QueryClientProvider.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"); var import_isRestoring = __webpack_require__(/*! ./isRestoring.cjs */ "../node_modules/@tanstack/react-query/build/modern/isRestoring.cjs"); var import_QueryErrorResetBoundary = __webpack_require__(/*! ./QueryErrorResetBoundary.cjs */ "../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.cjs"); var import_errorBoundaryUtils = __webpack_require__(/*! ./errorBoundaryUtils.cjs */ "../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.cjs"); var import_suspense = __webpack_require__(/*! ./suspense.cjs */ "../node_modules/@tanstack/react-query/build/modern/suspense.cjs"); function useQueries({ queries, ...options }, queryClient) { const client = (0, import_QueryClientProvider.useQueryClient)(queryClient); const isRestoring = (0, import_isRestoring.useIsRestoring)(); const errorResetBoundary = (0, import_QueryErrorResetBoundary.useQueryErrorResetBoundary)(); const defaultedQueries = React.useMemo( () => queries.map((opts) => { const defaultedOptions = client.defaultQueryOptions(opts); defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic"; return defaultedOptions; }), [queries, client, isRestoring] ); defaultedQueries.forEach((query) => { (0, import_suspense.ensureStaleTime)(query); (0, import_errorBoundaryUtils.ensurePreventErrorBoundaryRetry)(query, errorResetBoundary); }); (0, import_errorBoundaryUtils.useClearResetErrorBoundary)(errorResetBoundary); const [observer] = React.useState( () => new import_query_core.QueriesObserver( client, defaultedQueries, options ) ); const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(defaultedQueries); React.useSyncExternalStore( React.useCallback( (onStoreChange) => isRestoring ? () => void 0 : observer.subscribe(import_query_core.notifyManager.batchCalls(onStoreChange)), [observer, isRestoring] ), () => observer.getCurrentResult(), () => observer.getCurrentResult() ); React.useEffect(() => { observer.setQueries( defaultedQueries, options, { listeners: false } ); }, [defaultedQueries, options, observer]); const shouldAtLeastOneSuspend = optimisticResult.some( (result, index) => (0, import_suspense.shouldSuspend)(defaultedQueries[index], result, isRestoring) ); const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => { const opts = defaultedQueries[index]; if (opts) { const queryObserver = new import_query_core.QueryObserver(client, opts); if ((0, import_suspense.shouldSuspend)(opts, result, isRestoring)) { return (0, import_suspense.fetchOptimistic)(opts, queryObserver, errorResetBoundary); } else if ((0, import_suspense.willFetch)(result, isRestoring)) { void (0, import_suspense.fetchOptimistic)(opts, queryObserver, errorResetBoundary); } } return []; }) : []; if (suspensePromises.length > 0) { throw Promise.all(suspensePromises); } const observerQueries = observer.getQueries(); const firstSingleResultWhichShouldThrow = optimisticResult.find( (result, index) => (0, import_errorBoundaryUtils.getHasError)({ result, errorResetBoundary, throwOnError: defaultedQueries[index]?.throwOnError ?? false, query: observerQueries[index] }) ); if (firstSingleResultWhichShouldThrow?.error) { throw firstSingleResultWhichShouldThrow.error; } return getCombinedResult(trackResult()); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useQueries.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useQuery.cjs": /*!***********************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useQuery.cjs ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useQuery.ts var useQuery_exports = {}; __export(useQuery_exports, { useQuery: () => useQuery }); module.exports = __toCommonJS(useQuery_exports); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_useBaseQuery = __webpack_require__(/*! ./useBaseQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs"); function useQuery(options, queryClient) { return (0, import_useBaseQuery.useBaseQuery)(options, import_query_core.QueryObserver, queryClient); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useQuery.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useSuspenseInfiniteQuery.cjs": /*!***************************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useSuspenseInfiniteQuery.cjs ***! \***************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useSuspenseInfiniteQuery.ts var useSuspenseInfiniteQuery_exports = {}; __export(useSuspenseInfiniteQuery_exports, { useSuspenseInfiniteQuery: () => useSuspenseInfiniteQuery }); module.exports = __toCommonJS(useSuspenseInfiniteQuery_exports); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_useBaseQuery = __webpack_require__(/*! ./useBaseQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs"); var import_suspense = __webpack_require__(/*! ./suspense.cjs */ "../node_modules/@tanstack/react-query/build/modern/suspense.cjs"); function useSuspenseInfiniteQuery(options, queryClient) { return (0, import_useBaseQuery.useBaseQuery)( { ...options, enabled: true, suspense: true, throwOnError: import_suspense.defaultThrowOnError }, // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion import_query_core.InfiniteQueryObserver, queryClient ); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useSuspenseInfiniteQuery.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useSuspenseQueries.cjs": /*!*********************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useSuspenseQueries.cjs ***! \*********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useSuspenseQueries.ts var useSuspenseQueries_exports = {}; __export(useSuspenseQueries_exports, { useSuspenseQueries: () => useSuspenseQueries }); module.exports = __toCommonJS(useSuspenseQueries_exports); var import_useQueries = __webpack_require__(/*! ./useQueries.cjs */ "../node_modules/@tanstack/react-query/build/modern/useQueries.cjs"); var import_suspense = __webpack_require__(/*! ./suspense.cjs */ "../node_modules/@tanstack/react-query/build/modern/suspense.cjs"); function useSuspenseQueries(options, queryClient) { return (0, import_useQueries.useQueries)( { ...options, queries: options.queries.map((query) => ({ ...query, suspense: true, throwOnError: import_suspense.defaultThrowOnError, enabled: true })) }, queryClient ); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useSuspenseQueries.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.cjs": /*!*******************************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.cjs ***! \*******************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; "use client"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useSuspenseQuery.ts var useSuspenseQuery_exports = {}; __export(useSuspenseQuery_exports, { useSuspenseQuery: () => useSuspenseQuery }); module.exports = __toCommonJS(useSuspenseQuery_exports); var import_query_core = __webpack_require__(/*! @tanstack/query-core */ "../node_modules/@tanstack/query-core/build/modern/index.cjs"); var import_useBaseQuery = __webpack_require__(/*! ./useBaseQuery.cjs */ "../node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs"); var import_suspense = __webpack_require__(/*! ./suspense.cjs */ "../node_modules/@tanstack/react-query/build/modern/suspense.cjs"); function useSuspenseQuery(options, queryClient) { return (0, import_useBaseQuery.useBaseQuery)( { ...options, enabled: true, suspense: true, throwOnError: import_suspense.defaultThrowOnError }, import_query_core.QueryObserver, queryClient ); } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=useSuspenseQuery.cjs.map /***/ }), /***/ "../node_modules/@tanstack/react-query/build/modern/utils.cjs": /*!********************************************************************!*\ !*** ../node_modules/@tanstack/react-query/build/modern/utils.cjs ***! \********************************************************************/ /***/ ((module) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/utils.ts var utils_exports = {}; __export(utils_exports, { shouldThrowError: () => shouldThrowError }); module.exports = __toCommonJS(utils_exports); function shouldThrowError(throwError, params) { if (typeof throwError === "function") { return throwError(...params); } return !!throwError; } // Annotate the CommonJS export names for ESM import in node: 0 && (0); //# sourceMappingURL=utils.cjs.map /***/ }) /******/ }); /************************************************************************/ /******/ // 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/notifications/assets/js/editor.js ***! \****************************************************/ var _editorV = __webpack_require__(/*! ./components/editor-v1 */ "../modules/notifications/assets/js/components/editor-v1.js"); var _editorV2 = __webpack_require__(/*! ./components/editor-v2 */ "../modules/notifications/assets/js/components/editor-v2.js"); var _window, _window$elementorV; if ((_window = window) !== null && _window !== void 0 && (_window$elementorV = _window.elementorV2) !== null && _window$elementorV !== void 0 && _window$elementorV.editorAppBar) { (0, _editorV2.editorV2)(); } else { (0, _editorV.editorV1)(); } })(); /******/ })() ; //# sourceMappingURL=editor-notifications.js.map/*! elementor-pro - v3.34.0 - 26-01-2026 */ .woocommerce div.product.elementor form.cart div.product-addon{flex-basis:100%;flex-shrink:0}/** * Core Functions * * Holds core functions for wc-admin. * * @package WooCommerce\Admin\Functions */ use Automattic\WooCommerce\Internal\Admin\Settings; /** * Format a number using the decimal and thousands separator settings in WooCommerce. * * @param mixed $number Number to be formatted. * @return string */ function wc_admin_number_format( $number ) { $currency_settings = Settings::get_currency_settings(); return number_format( $number, 0, $currency_settings['decimalSeparator'], $currency_settings['thousandSeparator'] ); } /** * Retrieves a URL to relative path inside WooCommerce admin with * the provided query parameters. * * @param string $path Relative path of the desired page. * @param array $query Query parameters to append to the path. * * @return string Fully qualified URL pointing to the desired path. */ function wc_admin_url( $path = null, $query = array() ) { if ( ! empty( $query ) ) { $query_string = http_build_query( $query ); $path = $path ? '&path=' . $path . '&' . $query_string : ''; } return admin_url( 'admin.php?page=wc-admin' . $path, dirname( __FILE__ ) ); } /** * Record an event using Tracks. * * @internal WooCommerce core only includes Tracks in admin, not the REST API, so we need to include it. * @param string $event_name Event name for tracks. * @param array $properties Properties to pass along with event. */ function wc_admin_record_tracks_event( $event_name, $properties = array() ) { // WC post types must be registered first for WC_Tracks to work. if ( ! post_type_exists( 'product' ) ) { return; } if ( ! class_exists( 'WC_Tracks' ) ) { if ( ! defined( 'WC_ABSPATH' ) || ! file_exists( WC_ABSPATH . 'includes/tracks/class-wc-tracks.php' ) ) { return; } include_once WC_ABSPATH . 'includes/tracks/class-wc-tracks.php'; include_once WC_ABSPATH . 'includes/tracks/class-wc-tracks-event.php'; include_once WC_ABSPATH . 'includes/tracks/class-wc-tracks-client.php'; include_once WC_ABSPATH . 'includes/tracks/class-wc-tracks-footer-pixel.php'; include_once WC_ABSPATH . 'includes/tracks/class-wc-site-tracking.php'; } WC_Tracks::record_event( $event_name, $properties ); } .wpforms-links{display:flex;padding:13px;padding-top:45px;align-items:center;gap:18px;border-top:1px solid #e8e9e9}.wpforms-links .wpforms-link{display:flex;align-items:center;gap:7px}.wpforms-links .wpforms-link{text-decoration:none;color:#6a6f76;line-height:normal}.wpforms-links .wpforms-link svg{width:auto;fill:#6a6f76;transition:fill 0.05s ease-in-out}.wpforms-links .wpforms-link-whats-new svg{height:17px}.wpforms-links .wpforms-link:hover{color:#2c3338}.wpforms-links .wpforms-link:hover svg{fill:#2c3338}.wpforms-dash-widget .wpforms-links{padding-top:13px}#wpforms_reports_widget_lite .inside,#wpforms_reports_widget_pro .inside{margin:0;padding:0}#wpforms_reports_widget_lite .wpforms-dash-widget-block h3,#wpforms_reports_widget_pro .wpforms-dash-widget-block h3{margin-bottom:0;font-weight:600;padding-top:1px}.wpforms-dash-widget .wpforms-dash-widget-content{position:relative}.wpforms-dash-widget button:focus{outline:none}.wpforms-dash-widget .wpforms-dash-widget-block{position:relative;padding:0 12px;margin-top:12px}#wpforms-entries-list .wpforms-dash-widget .wpforms-dash-widget-block:first-child{padding:0}#wpforms-entries-list .wpforms-dash-widget .wpforms-dash-widget-block:first-child h3{margin-top:0}#wpforms-entries-list .wpforms-dash-widget .wpforms-dash-widget-block:first-child .wpforms-dash-widget-settings{display:inline-block;float:right}.wpforms-dash-widget .wpforms-dash-widget-block.wpforms-dash-widget-block-title{background-color:#fafafa;margin-top:0;margin-bottom:-13px;padding-top:13px;padding-bottom:14px;display:flex;align-items:center;justify-content:space-between}.wpforms-dash-widget .wpforms-dash-widget-block h3{display:inline-block;line-height:2}.wpforms-dash-widget .wpforms-dash-widget-block p{margin-top:0;margin-bottom:0}.wpforms-dash-widget .wpforms-dash-widget-chart-block-container{position:relative}.wpforms-dash-widget #wpforms-dash-widget-chart-title{display:inline}#dashboard-widgets-wrap .wpforms-dash-widget #wpforms-dash-widget-chart-title{display:none}.wpforms-dash-widget .wpforms-dash-widget-settings #wpforms-dash-widget-timespan{color:#3c434a}.wpforms-dash-widget .wpforms-dash-widget-settings #wpforms-dash-widget-timespan:hover{color:#2271b1}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container{display:inline-block;position:relative;vertical-align:top;margin-left:7px}#wpforms-entries-list .wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container{margin-left:20px;margin-top:5px}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-button{background:#fafafa;color:#787c82;border-color:currentColor;padding:0 5px 0 6px}#wpforms-entries-list .wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-button{background-color:#fff}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-button:hover,.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-button:focus{color:#2271b1}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-button .dashicons{margin-top:4px}@media (max-width: 782px){.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-button .dashicons{margin-top:9px}}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu{top:auto;bottom:40px;display:none;position:absolute;background-color:#fff;width:160px;border-radius:3px;box-shadow:0 5px 15px rgba(0,0,0,0.15) !important;padding:10px;z-index:9999;right:0}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu.disabled *{cursor:not-allowed}#wpforms-entries-list .wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu,.postbox:first-child .wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu{top:40px;bottom:auto}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu .wpforms-dash-widget-settings-menu-wrap{border-bottom:1px solid #eee;line-height:2.4;font-size:13px;padding-bottom:5px}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu .wpforms-dash-widget-settings-menu-wrap h4{text-transform:uppercase !important;color:#3c434a !important;font-size:11px !important;font-weight:600 !important;line-height:13px !important;margin:0}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu .wpforms-dash-widget-settings-menu-wrap.color-scheme h4{margin-top:10px !important;margin-bottom:5px !important}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu .wpforms-dash-widget-settings-menu-wrap div{line-height:1.9}.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu button{margin-top:10px}.wpforms-dash-widget .wpforms-dash-widget-chart-block{border-bottom:1px solid #eee;height:291px;padding-bottom:12px;padding-inline-end:14px}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table{width:calc(100% + 24px);margin:0 -12px}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table tr.wpforms-dash-widget-form-active td .wpforms-dash-widget-single-chart-btn{display:none}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table tr.wpforms-dash-widget-form-active td #wpforms-dash-widget-reset-chart{display:block}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table tr.wpforms-dash-widget-form-active td:nth-child(1){border-left:3px solid #2271b1;font-weight:600;padding-left:9px}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table td{padding:10px 12px;background-color:#fff;border-top:1px solid #eee;font-size:14px}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table td:not(:first-child){text-align:right}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table td a.entry-list-link{text-decoration:none}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block table td a.entry-list-link:hover{color:#003d7e}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block .wpforms-dash-widget-forms-list-hidden-el{display:none}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block .wpforms-dash-widget-forms-more{background:#fff;display:block;margin:0 -12px;padding:9px 10px;line-height:1.6;border:none;border-top:1px solid #eee;width:calc(100% + 24px);cursor:pointer;text-align:left;color:#23282c;font-weight:600}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block .wpforms-dash-widget-forms-more:hover{color:#0073aa}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block .wpforms-dash-widget-forms-more:hover .dashicons{color:#0073aa}.wpforms-dash-widget .wpforms-dash-widget-forms-list-block .wpforms-dash-widget-forms-more .dashicons{float:right;color:#72777c}.wpforms-dash-widget .wpforms-dash-widget-recommended-plugin-block{display:flex;justify-content:space-between;align-items:center;padding:12px;border-top:1px solid #f3f3f3;color:#787c82;margin-top:0}.wpforms-dash-widget .wpforms-dash-widget-recommended-plugin-block strong{color:#3c434a}.wpforms-dash-widget .wpforms-dash-widget-recommended-plugin-block .sep{display:inline-block;margin:0 3px}.wpforms-dash-widget .wpforms-dash-widget-recommended-plugin-block .sep-vertical{color:#dddde0}.wpforms-dash-widget .wpforms-dash-widget-recommended-plugin-block p{margin:0}.wpforms-dash-widget .wpforms-dash-widget-recommended-plugin-block .action-links{display:inline-block}.wpforms-dash-widget .wpforms-dash-widget-dismiss-icon{border:0;color:#8c8f94;opacity:0.3;cursor:pointer;background:none;padding:0;margin:0}.wpforms-dash-widget .wpforms-dash-widget-dismiss-icon:hover{opacity:1}.wpforms-dash-widget .wpforms-dash-widget-dismiss-icon .dashicons{font-size:16px;height:1em;width:1em}.wpforms-dash-widget .wpforms-error{text-align:center}.wpforms-dash-widget .wpforms-error-no-data-chart{position:absolute;left:0;top:0;height:100%;width:100%;overflow:hidden;border-bottom:1px solid #f3f3f3;box-sizing:border-box;background:rgba(255,255,255,0);background:-moz-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(255,255,255,0)), color-stop(100%, white));background:-webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-o-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-ms-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:radial-gradient(ellipse at center, rgba(255,255,255,0) 0%, white 100%)}.wpforms-dash-widget .wpforms-error-no-data-chart .wpforms-dash-widget-modal{position:absolute;top:calc(50% - 2em);left:50%;transform:translate(-50%, -50%);padding:1.5em 2em 2em 2em;box-shadow:0 0 25px 10px rgba(0,0,0,0.08);border-radius:3px;background-color:#fff;text-align:center;width:20em}.wpforms-dash-widget .wpforms-error-no-data-chart .wpforms-dash-widget-modal h2{padding:0;margin-bottom:5px;font-size:18px}.wpforms-dash-widget .wpforms-error-no-data-chart .wpforms-dash-widget-modal p{line-height:1.3}.wpforms-dash-widget .wpforms-error-no-data-forms-list{padding-top:12px;padding-bottom:24px}.wpforms-dash-widget .wpforms-dash-widget-block-no-forms{padding:20px 30px 30px;text-align:center}.wpforms-dash-widget .wpforms-dash-widget-block-no-forms .wpforms-dash-widget-block-sullie-logo{width:85px}.wpforms-dash-widget .wpforms-dash-widget-block-no-forms h2{font-size:16px;font-weight:600;padding:10px 0 0;line-height:1.3}.wpforms-dash-widget .wpforms-dash-widget-block-no-forms p{margin-top:8px;margin-bottom:20px}.wpforms-dash-widget .wpforms-dash-widget-block-no-forms a.button:first-of-type:not(:only-of-type){margin-right:9px}.wpforms-dash-widget .wpforms-dash-widget-modal{position:absolute;top:calc(50% - 2em);left:50%;transform:translate(-50%, -50%);padding:1.5em 2em 2em 2em;box-shadow:0 0 25px 10px rgba(0,0,0,0.08);border-radius:3px;background-color:#fff;text-align:center;width:20em}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade{position:absolute;left:0;top:0;height:100%;width:100%;overflow:hidden;border-bottom:1px solid #f3f3f3;box-sizing:border-box;background:rgba(255,255,255,0);background:-moz-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(255,255,255,0)), color-stop(100%, white));background:-webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-o-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-ms-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:radial-gradient(ellipse at center, rgba(255,255,255,0) 0%, white 100%)}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-modal .wpforms-dash-widget-dismiss-chart-upgrade{position:absolute;width:16px;height:17px;right:5px;top:5px;color:#a0a5aa;text-decoration:none}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-modal .wpforms-dash-widget-dismiss-chart-upgrade .dashicons{width:16px;height:17px;font-style:normal;font-weight:normal;font-size:16px;line-height:17px}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-modal h2{margin-bottom:10px;font-size:20px;font-weight:600;color:#3c434a}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-modal p{margin:0 0 15px 0;color:#787c82;font-size:14px;line-height:18px}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-modal p:last-child{margin-bottom:0}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-upgrade-btn{background:#e27730;border-radius:3px;color:#fff;display:inline-block;padding:11px 15px;text-decoration:none;font-weight:600}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-upgrade-btn:hover,.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-upgrade-btn:focus{background-color:#b85a1b;color:#fff}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-upgrade-btn:focus{box-shadow:0 0 0 1px #fff, 0 0 0 3px #b85a1b;outline:0}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-site-link{color:#e27730;display:inline-block;margin-bottom:10px}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-block-upgrade .wpforms-dash-widget-site-link:hover{color:#b85a1b}.wpforms-dash-widget.wpforms-lite .wpforms-dash-widget-forms-list-block table td{padding-top:10px;padding-bottom:10px}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-reset-chart{border:0;color:#a0a5aa;vertical-align:baseline;cursor:pointer;background:none;padding:0 2px}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-reset-chart:hover{color:#d63638}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-reset-chart .dashicons{font-size:16px;height:1em;width:1em;margin-top:1px}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-forms-list-block table td.graph{padding:10px 0;width:40px}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-forms-list-block table button{cursor:pointer;height:24px;width:33px;padding:0;vertical-align:middle;margin:0 12px}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-forms-list-block table button.chart{background-color:white;color:#a7acb1;border:1px solid #a0a5aa;border-radius:3px;transition:border .1s ease-in}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-forms-list-block table button.chart:hover{border:1px solid currentColor;color:#2271b1}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-forms-list-block table button:hover{border-color:#666}.wpforms-dash-widget.wpforms-pro .wpforms-dash-widget-overlay{width:100%;position:absolute;top:0;right:0;bottom:0;left:0;background:#fff url(/wp-includes/images/spinner.gif) no-repeat center calc(50% - 12px);z-index:10}.wpforms-dash-widget.wpforms-pro #wpforms-dash-widget-lite-connect{width:100%;position:absolute;top:0;right:0;left:0;z-index:10;height:300px;background:rgba(255,255,255,0);background:-moz-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(255,255,255,0)), color-stop(100%, white));background:-webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-o-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:-ms-radial-gradient(center, ellipse cover, rgba(255,255,255,0) 0%, white 100%);background:radial-gradient(ellipse at center, rgba(255,255,255,0) 0%, white 100%)}.wpforms-dash-widget.wpforms-pro #wpforms-dash-widget-lite-connect .wpforms-dash-widget-modal{border-radius:6px;padding:30px;min-width:calc( 100% - 200px);top:50%}.wpforms-dash-widget.wpforms-pro #wpforms-dash-widget-lite-connect img{width:40px;height:40px;margin:0 0 15px 0}.wpforms-dash-widget.wpforms-pro #wpforms-dash-widget-lite-connect h4{font-weight:600;font-size:20px;line-height:26px;margin-bottom:15px}.wpforms-dash-widget.wpforms-pro #wpforms-dash-widget-lite-connect p{font-weight:400;font-size:14px;line-height:18px;color:#787c82;margin:0}.wpforms-dash-widget.wpforms-pro #wpforms-dash-widget-lite-connect .wpforms-btn{background:#e27730;border-radius:3px;color:#ffffff;display:inline-block;font-weight:600;font-size:14px;line-height:20px;text-decoration:none;padding:10px 15px;margin-top:15px}.wpforms-dash-widget.wpforms-pro #wpforms-dash-widget-lite-connect .wpforms-btn:hover{background:#cd6622}.wpforms-hidden{display:none !important}.wpforms-dash-widget-no-graph.wpforms-dash-widget .wpforms-dash-widget-settings .wpforms-dash-widget-settings-container .wpforms-dash-widget-settings-menu{top:40px;bottom:auto} /** * Add hooks related to uploading downloadable products. * * @package WooCommerce\Admin * @version 8.5.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( class_exists( 'WC_Admin_Upload_Downloadable_Product', false ) ) { return new WC_Admin_Upload_Downloadable_Product(); } /** * WC_Admin_Upload_Downloadable_Product Class. */ class WC_Admin_Upload_Downloadable_Product { /** * Add hooks. */ public function __construct() { add_filter( 'upload_dir', array( $this, 'upload_dir' ) ); add_filter( 'wp_unique_filename', array( $this, 'update_filename' ), 10, 3 ); add_action( 'media_upload_downloadable_product', array( $this, 'media_upload_downloadable_product' ) ); } /** * Change upload dir for downloadable files. * * @param array $pathdata Array of paths. * @return array */ public function upload_dir( $pathdata ) { // phpcs:disable WordPress.Security.NonceVerification.Missing if ( isset( $_POST['type'] ) && 'downloadable_product' === $_POST['type'] ) { if ( empty( $pathdata['subdir'] ) ) { $pathdata['path'] = $pathdata['path'] . '/woocommerce_uploads'; $pathdata['url'] = $pathdata['url'] . '/woocommerce_uploads'; $pathdata['subdir'] = '/woocommerce_uploads'; } else { $new_subdir = '/woocommerce_uploads' . $pathdata['subdir']; $pathdata['path'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['path'] ); $pathdata['url'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['url'] ); $pathdata['subdir'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['subdir'] ); } } return $pathdata; // phpcs:enable WordPress.Security.NonceVerification.Missing } /** * Change filename for WooCommerce uploads and prepend unique chars for security. * * @param string $full_filename Original filename. * @param string $ext Extension of file. * @param string $dir Directory path. * * @return string New filename with unique hash. * @since 4.0 */ public function update_filename( $full_filename, $ext, $dir ) { // phpcs:disable WordPress.Security.NonceVerification.Missing if ( ! isset( $_POST['type'] ) || ! 'downloadable_product' === $_POST['type'] ) { return $full_filename; } if ( ! strpos( $dir, 'woocommerce_uploads' ) ) { return $full_filename; } if ( 'no' === get_option( 'woocommerce_downloads_add_hash_to_filename' ) ) { return $full_filename; } return $this->unique_filename( $full_filename, $ext ); // phpcs:enable WordPress.Security.NonceVerification.Missing } /** * Change filename to append random text. * * @param string $full_filename Original filename with extension. * @param string $ext Extension. * * @return string Modified filename. */ public function unique_filename( $full_filename, $ext ) { $ideal_random_char_length = 6; // Not going with a larger length because then downloaded filename will not be pretty. $max_filename_length = 255; // Max file name length for most file systems. $length_to_prepend = min( $ideal_random_char_length, $max_filename_length - strlen( $full_filename ) - 1 ); if ( 1 > $length_to_prepend ) { return $full_filename; } $suffix = strtolower( wp_generate_password( $length_to_prepend, false, false ) ); $filename = $full_filename; if ( strlen( $ext ) > 0 ) { $filename = substr( $filename, 0, strlen( $filename ) - strlen( $ext ) ); } $full_filename = str_replace( $filename, "$filename-$suffix", $full_filename ); return $full_filename; } /** * Run a filter when uploading a downloadable product. */ public function woocommerce_media_upload_downloadable_product() { // phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment do_action( 'media_upload_file' ); } } /** * Calls in content using theme hooks. * * @package kadence */ namespace Kadence; use function Kadence\kadence; use function add_action; defined( 'ABSPATH' ) || exit; /** * Kadence Header. * * @see Kadence\header_markup(); */ add_action( 'kadence_header', 'Kadence\header_markup' ); /** * Kadence Header Rows * * @see Kadence\top_header(); * @see Kadence\main_header(); * @see Kadence\bottom_header(); */ add_action( 'kadence_top_header', 'Kadence\top_header' ); add_action( 'kadence_main_header', 'Kadence\main_header' ); add_action( 'kadence_bottom_header', 'Kadence\bottom_header' ); /** * Kadence Header Columns * * @see Kadence\header_column(); */ add_action( 'kadence_render_header_column', 'Kadence\header_column', 10, 2 ); /** * Kadence Mobile Header * * @see Kadence\mobile_header(); */ add_action( 'kadence_mobile_header', 'Kadence\mobile_header' ); /** * Kadence Mobile Header Rows * * @see Kadence\mobile_top_header(); * @see Kadence\mobile_main_header(); * @see Kadence\mobile_bottom_header(); */ add_action( 'kadence_mobile_top_header', 'Kadence\mobile_top_header' ); add_action( 'kadence_mobile_main_header', 'Kadence\mobile_main_header' ); add_action( 'kadence_mobile_bottom_header', 'Kadence\mobile_bottom_header' ); /** * Kadence Mobile Header Columns * * @see Kadence\mobile_header_column(); */ add_action( 'kadence_render_mobile_header_column', 'Kadence\mobile_header_column', 10, 2 ); /** * Desktop Header Elements. * * @see Kadence\site_branding(); * @see Kadence\primary_navigation(); * @see Kadence\secondary_navigation(); * @see Kadence\header_html(); * @see Kadence\header_button(); * @see Kadence\header_cart(); * @see Kadence\header_social(); * @see Kadence\header_search(); */ add_action( 'kadence_site_branding', 'Kadence\site_branding' ); add_action( 'kadence_primary_navigation', 'Kadence\primary_navigation' ); add_action( 'kadence_secondary_navigation', 'Kadence\secondary_navigation' ); add_action( 'kadence_header_html', 'Kadence\header_html' ); add_action( 'kadence_header_button', 'Kadence\header_button' ); add_action( 'kadence_header_cart', 'Kadence\header_cart' ); add_action( 'kadence_header_social', 'Kadence\header_social' ); add_action( 'kadence_header_search', 'Kadence\header_search' ); /** * Mobile Header Elements. * * @see Kadence\mobile_site_branding(); * @see Kadence\navigation_popup_toggle(); * @see Kadence\mobile_navigation(); * @see Kadence\mobile_html(); * @see Kadence\mobile_button(); * @see Kadence\mobile_cart(); * @see Kadence\mobile_social(); * @see Kadence\primary_navigation(); */ add_action( 'kadence_mobile_site_branding', 'Kadence\mobile_site_branding' ); add_action( 'kadence_navigation_popup_toggle', 'Kadence\navigation_popup_toggle' ); add_action( 'kadence_mobile_navigation', 'Kadence\mobile_navigation' ); add_action( 'kadence_mobile_html', 'Kadence\mobile_html' ); add_action( 'kadence_mobile_button', 'Kadence\mobile_button' ); add_action( 'kadence_mobile_cart', 'Kadence\mobile_cart' ); add_action( 'kadence_mobile_social', 'Kadence\mobile_social' ); /** * Hero Title * * @see Kadence\hero_title(); */ add_action( 'kadence_hero_header', 'Kadence\hero_title' ); /** * Page Title area * * @see Kadence\kadence_entry_header(); */ add_action( 'kadence_entry_hero', 'Kadence\kadence_entry_header', 10, 2 ); add_action( 'kadence_entry_header', 'Kadence\kadence_entry_header', 10, 2 ); /** * Archive Title area * * @see Kadence\kadence_entry_archive_header(); */ add_action( 'kadence_entry_archive_hero', 'Kadence\kadence_entry_archive_header', 10, 2 ); add_action( 'kadence_entry_archive_header', 'Kadence\kadence_entry_archive_header', 10, 2 ); /** * Singular Content * * @see Kadence\single_markup(); */ add_action( 'kadence_single', 'Kadence\single_markup' ); /** * Singular Inner Content * * @see Kadence\single_content(); */ add_action( 'kadence_single_content', 'Kadence\single_content' ); /** * 404 Content * * @see Kadence\get_404_content(); */ add_action( 'kadence_404_content', 'Kadence\get_404_content' ); /** * Comments List * * @see Kadence\comments_list(); */ add_action( 'kadence_comments', 'Kadence\comments_list' ); /** * Comment Form * * @see Kadence\comments_form(); */ function check_comments_form_order() { $priority = ( kadence()->option( 'comment_form_before_list' ) ? 5 : 15 ); add_action( 'kadence_comments', 'Kadence\comments_form', $priority ); } add_action( 'kadence_comments', 'Kadence\check_comments_form_order', 1 ); /** * Archive Content * * @see Kadence\archive_markup(); */ add_action( 'kadence_archive', 'Kadence\archive_markup' ); /** * Archive Entry Content. * * @see Kadence\loop_entry(); */ add_action( 'kadence_loop_entry', 'Kadence\loop_entry' ); /** * Archive Entry thumbnail. * * @see Kadence\loop_entry_thumbnail(); */ add_action( 'kadence_loop_entry_thumbnail', 'Kadence\loop_entry_thumbnail' ); /** * Archive Entry header. * * @see Kadence\loop_entry_header(); */ add_action( 'kadence_loop_entry_content', 'Kadence\loop_entry_header', 10 ); /** * Archive Entry Summary. * * @see Kadence\loop_entry_summary(); */ add_action( 'kadence_loop_entry_content', 'Kadence\loop_entry_summary', 20 ); /** * Archive Entry Footer. * * @see Kadence\loop_entry_footer(); */ add_action( 'kadence_loop_entry_content', 'Kadence\loop_entry_footer', 30 ); /** * Archive Entry Taxonomies. * * @see Kadence\loop_entry_taxonomies(); */ add_action( 'kadence_loop_entry_header', 'Kadence\loop_entry_taxonomies', 10 ); /** * Archive Entry Title. * * @see Kadence\loop_entry_title(); */ add_action( 'kadence_loop_entry_header', 'Kadence\loop_entry_title', 20 ); /** * Archive Entry Meta. * * @see Kadence\loop_entry_meta(); */ add_action( 'kadence_loop_entry_header', 'Kadence\loop_entry_meta', 30 ); /** * Main Call for Kadence footer * * @see Kadence\footer_markup(); */ add_action( 'kadence_footer', 'Kadence\footer_markup' ); /** * Footer Top Row * * @see Kadence\top_footer(); */ add_action( 'kadence_top_footer', 'Kadence\top_footer' ); /** * Footer Middle Row * * @see Kadence\middle_footer() */ add_action( 'kadence_middle_footer', 'Kadence\middle_footer' ); /** * Footer Bottom Row * * @see Kadence\bottom_footer() */ add_action( 'kadence_bottom_footer', 'Kadence\bottom_footer' ); /** * Footer Column * * @see Kadence\footer_column() */ add_action( 'kadence_render_footer_column', 'Kadence\footer_column', 10, 2 ); /** * Footer Elements * * @see Kadence\footer_html(); * @see Kadence\footer_navigation() * @see Kadence\footer_social() */ add_action( 'kadence_footer_html', 'Kadence\footer_html' ); add_action( 'kadence_footer_navigation', 'Kadence\footer_navigation' ); add_action( 'kadence_footer_social', 'Kadence\footer_social' ); /** * WP Footer. * * @see Kadence\scroll_up(); */ add_action( 'wp_footer', 'Kadence\scroll_up' );