Plugin Directory

Changeset 3287369


Ignore:
Timestamp:
05/05/2025 05:01:59 AM (9 months ago)
Author:
bbioon
Message:

version 2.1.1

Location:
merchant
Files:
987 added
20 edited

Legend:

Unmodified
Added
Removed
  • merchant/trunk/admin/class-merchant-admin-loader.php

    r3248005 r3287369  
    3535
    3636            add_action( 'init', array( $this, 'includes' ) );
     37            add_action( 'plugins_loaded', array( $this, 'includes_after_plugins_loaded' ) );
    3738
    3839            add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_styles_scripts' ) );
    3940            add_action( 'plugin_action_links_' . MERCHANT_BASE, array( $this, 'action_links' ) );
    4041            add_filter( 'admin_body_class', array( $this, 'add_admin_body_class' ), 999 );
     42        }
     43
     44        /**
     45         * Include files after plugins loaded.
     46         *
     47         * Before init hook.
     48         */
     49        public function includes_after_plugins_loaded() {
     50            require_once MERCHANT_DIR . 'admin/classes/class-merchant-admin-statistics-tracking.php';
    4151        }
    4252
     
    6676            require_once MERCHANT_DIR . 'admin/classes/class-merchant-admin-utils.php';
    6777            require_once MERCHANT_DIR . 'admin/classes/class-merchant-admin-preview.php';
    68            
    6978            // Plugin installer.
    7079            require_once MERCHANT_DIR . 'admin/classes/class-merchant-plugin-installer.php';
  • merchant/trunk/admin/classes/class-merchant-admin-modules.php

    r3259457 r3287369  
    99
    1010if ( ! class_exists( 'Merchant_Admin_Modules' ) ) {
    11 
    1211    class Merchant_Admin_Modules {
    1312
    1413        /**
    1514         * Upsell modules.
    16          *
    1715         */
    1816        public static $modules_data = array();
     
    3836        public function __construct() {
    3937            self::$modules_data = array(
    40 
    41                 // Boost Revenue.
    42                 'pre-orders' => array(
    43                     'pro' => false,
    44                     'section' => 'boost-revenue',
    45                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-pre-orders' ),
    46                     'title' => esc_html__( 'Pre-Orders', 'merchant' ),
    47                     'desc' => esc_html__( 'Allow visitors to pre-order products that are either out of stock or not yet released', 'merchant' ),
    48                     'tutorial_url' => 'https://docs.athemes.com/article/pre-orders/',
    49                 ),
    50                 'wait-list' => array(
    51                     'pro' => true,
    52                     'section' => 'boost-revenue',
    53                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-wait-list' ),
    54                     'title' => esc_html__( 'Waitlist', 'merchant' ),
    55                     'desc' => esc_html__( 'Build waitlists for sold-out items and auto-notify potential customers when items are restocked', 'merchant' ),
    56                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-waitlist/',
    57                 ),
    58                 'product-bundles' => array(
    59                     'pro' => true,
    60                     'section' => 'boost-revenue',
    61                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-product-bundles' ),
    62                     'title' => esc_html__( 'Product Bundles', 'merchant' ),
    63                     'desc' => esc_html__( 'Create bundles of products to be sold together and boost your average order value', 'merchant' ),
    64                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-bundles/',
     38                'pre-orders'                 => array(
     39                    'pro'     => false,
     40                    'section' => 'boost-revenue',
     41                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-pre-orders' ),
     42                ),
     43                'wait-list'                  => array(
     44                    'pro'     => true,
     45                    'section' => 'boost-revenue',
     46                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-wait-list' ),
     47                ),
     48                'product-bundles'            => array(
     49                    'pro'     => true,
     50                    'section' => 'boost-revenue',
     51                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-product-bundles' ),
    6552                ),
    6653                'frequently-bought-together' => array(
    67                     'pro' => true,
    68                     'section' => 'boost-revenue',
    69                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-frequently-bought-together' ),
    70                     'title' => esc_html__( 'Frequently Bought Together', 'merchant' ),
    71                     'desc' => esc_html__( 'Create bundles of related products that customers can add to their cart with just one click', 'merchant' ),
    72                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-frequently-bought-together/',
    73                 ),
    74                 'buy-x-get-y' => array(
    75                     'pro' => true,
    76                     'section' => 'boost-revenue',
    77                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-buy-x-get-y' ),
    78                     'title' => esc_html__( 'Buy X, Get Y', 'merchant' ),
    79                     'desc' => esc_html__( 'Create offers where purchasing a specific quantity of Product X triggers a discount on Product Y', 'merchant' ),
    80                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-buy-x-get-y/',
    81                 ),
    82                 'complementary-products' => array(
    83                     'pro' => true,
    84                     'section' => 'boost-revenue',
    85                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'complementary-products' ),
    86                     'title' => esc_html__( 'Complementary Products', 'merchant' ),
    87                     'desc' => esc_html__( 'Offer complementary products to help increase average order value', 'merchant' ),
    88                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-complementary-products/',
    89                 ),
    90                 'volume-discounts' => array(
    91                     'pro' => true,
    92                     'section' => 'boost-revenue',
    93                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-volume-discounts' ),
    94                     'title' => esc_html__( 'Bulk Discounts', 'merchant' ),
    95                     'desc' => esc_html__( 'Offer discounts on larger quantity purchases to drive up average order value', 'merchant' ),
    96                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-bulk-discounts/',
    97                 ),
    98                 'storewide-sale' => array(
    99                     'pro' => true,
    100                     'section' => 'boost-revenue',
    101                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-storewide-sale' ),
    102                     'title' => esc_html__( 'Storewide Sale', 'merchant' ),
    103                     'desc' => esc_html__( 'Create discount campaigns for all your products, specific categories, or specific products', 'merchant' ),
    104                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-storewide-sale/',
    105                 ),
    106                 'spending-goal' => array(
    107                     'pro' => true,
    108                     'section' => 'boost-revenue',
    109                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-spending-goal' ),
    110                     'title' => esc_html__( 'Spending Discount Goal', 'merchant' ),
    111                     'desc' => esc_html__( 'Motivate higher order values by offering customers discounts for reaching spending goals', 'merchant' ),
    112                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-spending-goal/',
    113                 ),
    114                 'free-gifts' => array(
    115                     'pro' => true,
    116                     'section' => 'boost-revenue',
    117                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-free-gifts' ),
    118                     'title' => esc_html__( 'Free Gifts', 'merchant' ),
    119                     'desc' => esc_html__( 'Reward shoppers with a gift if they hit a specified spending target or apply a coupon', 'merchant' ),
    120                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-gift-card/',
     54                    'pro'     => true,
     55                    'section' => 'boost-revenue',
     56                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-frequently-bought-together' ),
     57                ),
     58                'buy-x-get-y'                => array(
     59                    'pro'     => true,
     60                    'section' => 'boost-revenue',
     61                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-buy-x-get-y' ),
     62                ),
     63                'complementary-products'     => array(
     64                    'pro'     => true,
     65                    'section' => 'boost-revenue',
     66                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'complementary-products' ),
     67                ),
     68                'volume-discounts'           => array(
     69                    'pro'     => true,
     70                    'section' => 'boost-revenue',
     71                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-volume-discounts' ),
     72                ),
     73                'storewide-sale'             => array(
     74                    'pro'     => true,
     75                    'section' => 'boost-revenue',
     76                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-storewide-sale' ),
     77                ),
     78                'spending-goal'              => array(
     79                    'pro'     => true,
     80                    'section' => 'boost-revenue',
     81                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-spending-goal' ),
     82                ),
     83                'free-gifts'                 => array(
     84                    'pro'     => true,
     85                    'section' => 'boost-revenue',
     86                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-free-gifts' ),
    12187                ),
    12288                'free-shipping-progress-bar' => array(
    123                     'pro' => true,
    124                     'section' => 'boost-revenue',
    125                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'free-shipping-progress-bar' ),
    126                     'title' => esc_html__( 'Free Shipping Bar', 'merchant' ),
    127                     'desc' => esc_html__( 'Encourage customers to spend more by displaying the amount left needed for free shipping', 'merchant' ),
    128                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-free-shipping-progress-bar/',
    129                 ),
    130                 // Increase Conversion Rates (Convert More).
    131                 'product-labels' => array(
    132                     'pro' => false,
    133                     'section' => 'convert-more',
    134                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-product-labels' ),
    135                     'title' => esc_html__( 'Product Labels', 'merchant' ),
    136                     'desc'  => esc_html__( 'Create customizable product labels with display conditions and color settings', 'merchant' ),
    137                     'tutorial_url' => 'https://docs.athemes.com/article/product-labels/',
     89                    'pro'     => true,
     90                    'section' => 'boost-revenue',
     91                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'free-shipping-progress-bar' ),
     92                ),
     93                'product-labels'             => array(
     94                    'pro'     => false,
     95                    'section' => 'convert-more',
     96                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-product-labels' ),
    13897                ),
    13998                'quick-view'                 => array(
    140                     'pro' => false,
    141                     'section' => 'convert-more',
    142                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-quick-view' ),
    143                     'title' => esc_html__( 'Quick View', 'merchant' ),
    144                     'desc' => esc_html__( 'Allows users to quickly view product details without leaving the current page', 'merchant' ),
    145                     'tutorial_url' => 'https://docs.athemes.com/article/quick-view/',
    146                 ),
    147                 'added-to-cart-popup' => array(
    148                     'pro' => true,
    149                     'section' => 'convert-more',
    150                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'added-to-cart-popup' ),
    151                     'title' => esc_html__( 'Added To Cart Popup', 'merchant' ),
    152                     'desc' => esc_html__( 'Display a dynamic popup with product suggestions when items are added to the cart', 'merchant' ),
    153                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-added-to-cart-popup/',
    154                 ),
    155                 'countdown-timer' => array(
    156                     'pro' => true,
    157                     'section' => 'convert-more',
    158                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-countdown-timer' ),
    159                     'title' => esc_html__( 'Countdown Timer', 'merchant' ),
    160                     'desc' => esc_html__( 'Create a sense of urgency by displaying a countdown timer on your discounted products', 'merchant' ),
    161                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-countdown-timer/',
    162                 ),
    163                 'stock-scarcity' => array(
    164                     'pro' => true,
    165                     'section' => 'convert-more',
    166                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-stock-scarcity' ),
    167                     'title' => esc_html__( 'Stock Scarcity', 'merchant' ),
    168                     'desc' => esc_html__( 'Let visitors know that stock is running low on products they are looking at', 'merchant' ),
    169                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-stock-scarcity/',
    170                 ),
    171                 'checkout' => array(
    172                     'pro' => true,
    173                     'section' => 'convert-more',
    174                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-checkout' ),
    175                     'title'        => esc_html__( 'Checkouts', 'merchant' ),
    176                     'desc'         => esc_html__( 'Choose from three different checkout layouts: Shopify-style, Multi-step or One-page', 'merchant' ),
    177                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-checkouts/',
    178                 ),
    179                 'sticky-add-to-cart' => array(
    180                     'pro' => true,
    181                     'section' => 'convert-more',
    182                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-sticky-add-to-cart' ),
    183                     'title' => esc_html__( 'Sticky Add To Cart', 'merchant' ),
    184                     'desc' => esc_html__( 'Display a sticky add to cart bar when visitors are scrolling on your product pages', 'merchant' ),
    185                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-sticky-add-to-cart/',
    186                 ),
    187                 'recently-viewed-products' => array(
    188                     'pro' => true,
    189                     'section' => 'convert-more',
    190                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-recently-viewed-products' ),
    191                     'title' => esc_html__( 'Recently Viewed Products', 'merchant' ),
    192                     'desc' => esc_html__( 'Show recently viewed products on product pages and in the cart', 'merchant' ),
    193                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-recently-viewed-products/',
    194                 ),
    195 
    196                 // Reduce Cart Abandonment.
    197                 'buy-now' => array(
    198                     'pro' => false,
     99                    'pro'     => false,
     100                    'section' => 'convert-more',
     101                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-quick-view' ),
     102                ),
     103                'added-to-cart-popup'        => array(
     104                    'pro'     => true,
     105                    'section' => 'convert-more',
     106                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'added-to-cart-popup' ),
     107                ),
     108                'countdown-timer'            => array(
     109                    'pro'     => true,
     110                    'section' => 'convert-more',
     111                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-countdown-timer' ),
     112                ),
     113                'stock-scarcity'             => array(
     114                    'pro'     => true,
     115                    'section' => 'convert-more',
     116                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-stock-scarcity' ),
     117                ),
     118                'checkout'                   => array(
     119                    'pro'     => true,
     120                    'section' => 'convert-more',
     121                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-checkout' ),
     122                ),
     123                'sticky-add-to-cart'         => array(
     124                    'pro'     => true,
     125                    'section' => 'convert-more',
     126                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-sticky-add-to-cart' ),
     127                ),
     128                'recently-viewed-products'   => array(
     129                    'pro'     => true,
     130                    'section' => 'convert-more',
     131                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-recently-viewed-products' ),
     132                ),
     133                'buy-now'                    => array(
     134                    'pro'     => false,
    199135                    'section' => 'reduce-abandonment',
    200                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-buy-now' ),
    201                     'title' => esc_html__( 'Buy Now', 'merchant' ),
    202                     'desc' => esc_html__( 'Send your customers directly to checkout instead of the cart with Buy Now buttons', 'merchant' ),
    203                     'tutorial_url' => 'https://docs.athemes.com/article/buy-now/',
    204                 ),
    205                 'cart-count-favicon' => array(
    206                     'pro' => false,
     136                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-buy-now' ),
     137                ),
     138                'cart-count-favicon'         => array(
     139                    'pro'     => false,
    207140                    'section' => 'reduce-abandonment',
    208                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-cart-count-favicon' ),
    209                     'title' => esc_html__( 'Cart Count Favicon', 'merchant' ),
    210                     'desc' => esc_html__( 'Make your browser tab stand out by showing the number of items in the cart on the favicon', 'merchant' ),
    211                     'tutorial_url' => 'https://docs.athemes.com/article/cart-count-favicon/',
    212                 ),
    213                 'inactive-tab-message' => array(
    214                     'pro' => false,
     141                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-cart-count-favicon' ),
     142                ),
     143                'inactive-tab-message'       => array(
     144                    'pro'     => false,
    215145                    'section' => 'reduce-abandonment',
    216                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-inactive-tab-message' ),
    217                     'title' => esc_html__( 'Inactive Tab Message', 'merchant' ),
    218                     'desc' => esc_html__( 'Modify the browser tab\'s title when the visitor navigates away from your store', 'merchant' ),
    219                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-inactive-tab-message/',
    220                 ),
    221                 'cart-reserved-timer' => array(
    222                     'pro' => true,
     146                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-inactive-tab-message' ),
     147                ),
     148                'cart-reserved-timer'        => array(
     149                    'pro'     => true,
    223150                    'section' => 'reduce-abandonment',
    224                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-cart-reserved-timer' ),
    225                     'title'        => esc_html__( 'Cart Reserved Timer', 'merchant' ),
    226                     'desc'         => esc_html__( 'Create urgency by letting visitors know that the products in cart are reserved for a limited time', 'merchant' ),
    227                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-cart-reserved-timer/',
    228                 ),
    229                 'side-cart' => array(
    230                     'pro' => true,
     151                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-cart-reserved-timer' ),
     152                ),
     153                'side-cart'                  => array(
     154                    'pro'     => true,
    231155                    'section' => 'reduce-abandonment',
    232                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-side-cart' ),
    233                     'title'        => esc_html__( 'Side Cart', 'merchant' ),
    234                     'desc'         => esc_html__( 'Show a sliding cart whenever a customer adds a product to the cart', 'merchant' ),
    235                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-side-cart/',
    236                 ),
    237 
    238                 // Build Trust.
    239                 'payment-logos' => array(
    240                     'pro' => false,
     156                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-side-cart' ),
     157                ),
     158                'payment-logos'              => array(
     159                    'pro'     => false,
    241160                    'section' => 'build-trust',
    242                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-payment-logos' ),
    243                     'title' => esc_html__( 'Payment Logos', 'merchant' ),
    244                     'desc' => esc_html__( 'Display the logos of the payment methods you accept on product pages', 'merchant' ),
    245                     'tutorial_url' => 'https://docs.athemes.com/article/payment-logos/',
    246                 ),
    247                 'trust-badges' => array(
    248                     'pro' => false,
     161                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-payment-logos' ),
     162                ),
     163                'trust-badges'               => array(
     164                    'pro'     => false,
    249165                    'section' => 'build-trust',
    250                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-trust-badges' ),
    251                     'title' => esc_html__( 'Trust Badges', 'merchant' ),
    252                     'desc' => esc_html__( 'Reassure customers by showcasing different badge-shaped store benefits', 'merchant' ),
    253                     'tutorial_url' => 'https://docs.athemes.com/article/trust-badges/',
    254                 ),
    255                 'advanced-reviews' => array(
    256                     'pro' => true,
     166                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-trust-badges' ),
     167                ),
     168                'advanced-reviews'           => array(
     169                    'pro'     => true,
    257170                    'section' => 'build-trust',
    258                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-advanced-reviews' ),
    259                     'title' => esc_html__( 'Advanced Reviews', 'merchant' ),
    260                     'desc' => esc_html__( 'Enhance your customer reviews with advanced features including photo uploads and more', 'merchant' ),
    261                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-advanced-reviews/',
     171                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-advanced-reviews' ),
    262172                ),
    263173                'recent-sales-notifications' => array(
    264                     'pro'          => true,
    265                     'section'      => 'build-trust',
    266                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'recent-sales-notifications' ),
    267                     'title'        => esc_html__( 'Recent Sales Notifications', 'merchant' ),
    268                     'desc'         => esc_html__( 'Build trust by displaying real-time notifications of purchases and other user activity on your store', 'merchant' ),
    269                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-recent-sales-notifications/',
    270                 ),
    271                 'reasons-to-buy' => array(
    272                     'pro' => true,
     174                    'pro'     => true,
    273175                    'section' => 'build-trust',
    274                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-reasons-to-buy' ),
    275                     'title' => esc_html__( 'Reasons To Buy List', 'merchant' ),
    276                     'desc' => esc_html__( 'Provide customers with a summary of the key features and benefits of your products', 'merchant' ),
    277                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-reasons-to-buy/',
    278                 ),
    279                 'quick-social-links' => array(
    280                     'pro' => true,
     176                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'recent-sales-notifications' ),
     177                ),
     178                'reasons-to-buy'             => array(
     179                    'pro'     => true,
    281180                    'section' => 'build-trust',
    282                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-quick-social-links' ),
    283                     'title' => esc_html__( 'Quick Social Links', 'merchant' ),
    284                     'desc' => esc_html__( 'Display floating social media icons to make it easier for your customers to connect with you', 'merchant' ),
    285                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-quick-social-links/',
    286                 ),
    287                 'product-brand-image' => array(
    288                     'pro' => true,
     181                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-reasons-to-buy' ),
     182                ),
     183                'quick-social-links'         => array(
     184                    'pro'     => true,
    289185                    'section' => 'build-trust',
    290                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-product-brand-image' ),
    291                     'title'        => esc_html__( 'Product Brand Image', 'merchant' ),
    292                     'desc'         => esc_html__( 'Add brand images to products to instill confidence in potential buyers', 'merchant' ),
    293                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-brand-image/',
    294                 ),
    295 
    296                 // Improve User Experience.
    297                 'animated-add-to-cart' => array(
    298                     'pro' => false,
    299                     'section' => 'improve-experience',
    300                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-animated-add-to-cart' ),
    301                     'title' => esc_html__( 'Animated Add to Cart', 'merchant' ),
    302                     'desc' => esc_html__( 'Make your Add To Cart button stand out by adding an animation on mouse over or page load', 'merchant' ),
    303                     'tutorial_url' => 'https://docs.athemes.com/article/animated-add-to-cart/',
    304                 ),
    305                 'add-to-cart-text' => array(
    306                     'pro' => false,
    307                     'section' => 'improve-experience',
    308                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-add-to-cart-text' ),
    309                     'title' => esc_html__( 'Add To Cart Text', 'merchant' ),
    310                     'desc' => esc_html__( 'Change your store\'s \'Add to Cart\' text for various product types, as well as individual products', 'merchant' ),
    311                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-add-to-cart-text/',
    312                 ),
    313                 'auto-external-links' => array(
    314                     'pro' => false,
    315                     'section' => 'improve-experience',
    316                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-auto-external-links' ),
    317                     'title' => esc_html__( 'Auto External Links', 'merchant' ),
    318                     'desc' => esc_html__( 'Keep users from navigating away from your store by opening external links in a new browser tab', 'merchant' ),
    319                     'tutorial_url' => 'https://docs.athemes.com/article/auto-external-links/',
    320                 ),
    321                 'real-time-search' => array(
    322                     'pro' => false,
    323                     'section' => 'improve-experience',
    324                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-real-time-search' ),
    325                     'title' => esc_html__( 'Real-Time Search', 'merchant' ),
    326                     'desc' => esc_html__( 'Help visitors instantly find the products they\'re looking for by using predictive search', 'merchant' ),
    327                     'tutorial_url' => 'https://docs.athemes.com/article/real-time-search/',
    328                 ),
    329                 'scroll-to-top-button' => array(
    330                     'pro' => false,
    331                     'section' => 'improve-experience',
    332                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-scroll-to-top-button' ),
    333                     'title' => esc_html__( 'Scroll to Top Button', 'merchant' ),
    334                     'desc' => esc_html__( 'Help your customers get back easily to the top of the page with a single click', 'merchant' ),
    335                     'tutorial_url' => 'https://docs.athemes.com/article/scroll-to-top-button/',
    336                 ),
    337                 'address-autocomplete' => array(
    338                     'pro'          => true,
    339                     'section'      => 'improve-experience',
    340                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'google-autocomplete' ),
    341                     'title'        => esc_html__( 'Google Address Autocomplete', 'merchant' ),
    342                     'desc'         => esc_html__( 'Streamline your checkout process and reduce user errors by autocompleting the address fields', 'merchant' ),
    343                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-google-address-autocomplete/',
    344                 ),
    345                 'size-chart' => array(
    346                     'pro' => true,
    347                     'section' => 'improve-experience',
    348                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-size-chart' ),
    349                     'title'        => esc_html__( 'Size Chart', 'merchant' ),
    350                     'desc'         => esc_html__( 'Reduce returns and increase sales by showing a size chart on specific products or all products', 'merchant' ),
    351                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-size-chart/',
    352                 ),
    353                 'product-swatches' => array(
    354                     'pro' => true,
    355                     'section' => 'improve-experience',
    356                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-product-swatches' ),
    357                     'title'        => esc_html__( 'Variation Swatches', 'merchant' ),
    358                     'desc'         => esc_html__( 'Display variable product options as customizable color/image icons, buttons, or dropdowns', 'merchant' ),
    359                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-variation-swatches/',
    360                 ),
    361                 'wishlist' => array(
    362                     'pro' => true,
    363                     'section' => 'improve-experience',
    364                     'icon' => Merchant_SVG_Icons::get_svg_icon( 'module-wishlist' ),
    365                     'title' => esc_html__( 'Wishlist', 'merchant' ),
    366                     'desc' => esc_html__( 'Allow customers to easily save products they are interested in for later', 'merchant' ),
    367                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-wishlist/',
    368                 ),
    369                 'product-navigation-links' => array(
    370                     'pro' => true,
    371                     'section' => 'improve-experience',
    372                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-product-navigation-links' ),
    373                     'title'        => esc_html__( 'Product Navigation Links', 'merchant' ),
    374                     'desc'         => esc_html__( 'Enable easy navigation from one product to the next with next/previous links', 'merchant' ),
    375                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-navigation-links/',
    376                 ),
    377                 'product-video' => array(
    378                     'pro' => true,
    379                     'section' => 'improve-experience',
    380                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-product-video' ),
    381                     'title'        => esc_html__( 'Product Video', 'merchant' ),
    382                     'desc'         => esc_html__( 'Upload video to be viewed in product galleries and on archive pages', 'merchant' ),
    383                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-video/',
    384                 ),
    385                 'product-audio' => array(
    386                     'pro' => true,
    387                     'section' => 'improve-experience',
    388                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-product-audio' ),
    389                     'title'        => esc_html__( 'Product Audio', 'merchant' ),
    390                     'desc'         => esc_html__( 'Upload audio to be listened to in product galleries and on archive pages', 'merchant' ),
    391                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-audio/',
    392                 ),
    393                 'login-popup' => array(
    394                     'pro' => true,
    395                     'section' => 'improve-experience',
    396                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-login-popup' ),
    397                     'title'        => esc_html__( 'Login Popup', 'merchant' ),
    398                     'desc'         => esc_html__( 'Allow users to log in with a simple pop up without navigating to a new page', 'merchant' ),
    399                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-login-popup/',
    400                 ),
    401                 'clear-cart' => array(
    402                     'pro'          => false,
    403                     'section'      => 'improve-experience',
    404                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-clear-cart' ),
    405                     'title'        => esc_html__( 'Clear Cart', 'merchant' ),
    406                     'desc'         => esc_html__( 'Display a clear cart button to let customers empty their carts and start fresh', 'merchant' ),
    407                     'tutorial_url' => 'https://docs.athemes.com/article/merchant-clear-cart/',
    408                 ),
    409                
    410                 // Protect Your Store.
    411                 'agree-to-terms-checkbox' => array(
    412                     'pro' => false,
     186                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-quick-social-links' ),
     187                ),
     188                'product-brand-image'        => array(
     189                    'pro'     => true,
     190                    'section' => 'build-trust',
     191                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-product-brand-image' ),
     192                ),
     193                'animated-add-to-cart'       => array(
     194                    'pro'     => false,
     195                    'section' => 'improve-experience',
     196                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-animated-add-to-cart' ),
     197                ),
     198                'add-to-cart-text'           => array(
     199                    'pro'     => false,
     200                    'section' => 'improve-experience',
     201                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-add-to-cart-text' ),
     202                ),
     203                'auto-external-links'        => array(
     204                    'pro'     => false,
     205                    'section' => 'improve-experience',
     206                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-auto-external-links' ),
     207                ),
     208                'real-time-search'           => array(
     209                    'pro'     => false,
     210                    'section' => 'improve-experience',
     211                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-real-time-search' ),
     212                ),
     213                'scroll-to-top-button'       => array(
     214                    'pro'     => false,
     215                    'section' => 'improve-experience',
     216                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-scroll-to-top-button' ),
     217                ),
     218                'address-autocomplete'       => array(
     219                    'pro'     => true,
     220                    'section' => 'improve-experience',
     221                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'google-autocomplete' ),
     222                ),
     223                'size-chart'                 => array(
     224                    'pro'     => true,
     225                    'section' => 'improve-experience',
     226                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-size-chart' ),
     227                ),
     228                'product-swatches'           => array(
     229                    'pro'     => true,
     230                    'section' => 'improve-experience',
     231                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-product-swatches' ),
     232                ),
     233                'wishlist'                   => array(
     234                    'pro'     => true,
     235                    'section' => 'improve-experience',
     236                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-wishlist' ),
     237                ),
     238                'product-navigation-links'   => array(
     239                    'pro'     => true,
     240                    'section' => 'improve-experience',
     241                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-product-navigation-links' ),
     242                ),
     243                'product-video'              => array(
     244                    'pro'     => true,
     245                    'section' => 'improve-experience',
     246                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-product-video' ),
     247                ),
     248                'product-audio'              => array(
     249                    'pro'     => true,
     250                    'section' => 'improve-experience',
     251                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-product-audio' ),
     252                ),
     253                'login-popup'                => array(
     254                    'pro'     => true,
     255                    'section' => 'improve-experience',
     256                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-login-popup' ),
     257                ),
     258                'clear-cart'                 => array(
     259                    'pro'     => false,
     260                    'section' => 'improve-experience',
     261                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-clear-cart' ),
     262                ),
     263                'agree-to-terms-checkbox'    => array(
     264                    'pro'     => false,
    413265                    'section' => 'protect-your-store',
    414                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-agree-to-terms-checkbox' ),
    415                     'title' => esc_html__( 'Agree to Terms Checkbox', 'merchant' ),
    416                     'desc' => esc_html__( 'Get customers to agree to your Terms & Conditions as part of the checkout process', 'merchant' ),
    417                     'tutorial_url' => 'https://docs.athemes.com/article/agree-to-terms-checkbox/',
    418                 ),
    419                 'cookie-banner' => array(
    420                     'pro' => false,
     266                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-agree-to-terms-checkbox' ),
     267                ),
     268                'cookie-banner'              => array(
     269                    'pro'     => false,
    421270                    'section' => 'protect-your-store',
    422                     'icon'         => Merchant_SVG_Icons::get_svg_icon( 'module-cookie-banner' ),
    423                     'title' => esc_html__( 'Cookie Banner', 'merchant' ),
    424                     'desc' => esc_html__( 'Inform your visitors that the site uses cookies via a dismissable banner', 'merchant' ),
    425                     'tutorial_url' => 'https://docs.athemes.com/article/cookie-banner/',
     271                    'icon'    => Merchant_SVG_Icons::get_svg_icon( 'module-cookie-banner' ),
    426272                ),
    427273            );
     
    472318             * @since 1.0
    473319             */
    474             $modules = apply_filters( 'merchant_modules', $modules );
     320            $modules = apply_filters( 'merchant_modules', $modules, self::modules_translation_data() );
     321
     322            // Populate modules with data and translations
     323            foreach ( self::$modules_data as $module_id => $module_data ) {
     324                if ( isset( self::modules_translation_data()[ $module_id ] ) ) {
     325                    $modules[ $module_data['section'] ]['modules'][ $module_id ] = array_merge(
     326                        $module_data,
     327                        array(
     328                            'title'        => self::modules_translation_data()[ $module_id ]['title'],
     329                            'desc'         => self::modules_translation_data()[ $module_id ]['desc'],
     330                            'tutorial_url' => self::modules_translation_data()[ $module_id ]['tutorial_url'],
     331                        )
     332                    );
     333                }
     334            }
    475335
    476336            return $modules;
     
    479339        /**
    480340         * Get upsell modules.
    481          *
    482341         */
    483342        public static function get_upsell_modules() {
    484             return array_filter( self::$modules_data, static function( $module ){
    485                 return isset( $module[ 'pro' ] ) && $module[ 'pro' ] ? $module : false;
     343            $upsell_modules = array_filter( self::$modules_data, static function ( $module ) {
     344                return isset( $module['pro'] ) && $module['pro'] ? $module : false;
    486345            } );
     346
     347            // Add translations to upsell modules
     348            foreach ( $upsell_modules as $module_id => $module_data ) {
     349                if ( isset( self::modules_translation_data()[ $module_id ] ) ) {
     350                    $upsell_modules[ $module_id ] = array_merge(
     351                        $module_data,
     352                        array(
     353                            'title'        => self::modules_translation_data()[ $module_id ]['title'],
     354                            'desc'         => self::modules_translation_data()[ $module_id ]['desc'],
     355                            'tutorial_url' => self::modules_translation_data()[ $module_id ]['tutorial_url'],
     356                        )
     357                    );
     358                }
     359            }
     360
     361            return $upsell_modules;
    487362        }
    488363
    489364        /**
    490365         * Add upsell to modules.
    491          *
    492366         */
    493367        public static function add_upsell_modules( $modules ) {
     
    497371
    498372            foreach ( self::get_upsell_modules() as $module_id => $module_data ) {
    499                 $modules[ $module_data[ 'section' ] ][ 'modules' ][ $module_id ] = $module_data;
     373                $modules[ $module_data['section'] ]['modules'][ $module_id ] = $module_data;
    500374            }
    501375
     
    507381         */
    508382        public static function get_module_info( $module ) {
    509 
    510             $modules = self::get_modules();
    511 
     383            // Check if module exists in modules_data
     384            if ( isset( self::$modules_data[ $module ] ) && isset( self::modules_translation_data()[ $module ] ) ) {
     385                return array_merge(
     386                    self::$modules_data[ $module ],
     387                    array(
     388                        'title'        => self::modules_translation_data()[ $module ]['title'],
     389                        'desc'         => self::modules_translation_data()[ $module ]['desc'],
     390                        'tutorial_url' => self::modules_translation_data()[ $module ]['tutorial_url'],
     391                    )
     392                );
     393            }
     394
     395            // Fallback to checking get_modules
     396            $modules     = self::get_modules();
    512397            $maybe_found = array_column( array_column( $modules, 'modules' ), $module );
    513398
     
    518403            return false;
    519404        }
     405
     406        /**
     407         * Supply modules translatable title and descriptions to modules data.
     408         *
     409         * @return array Array of modules data.
     410         */
     411        private static function modules_translation_data() {
     412            /**
     413             * Hook: merchant_modules_translation_data
     414             * Allow translating module data later when needed.
     415             *
     416             * @param array $modules_data Array of modules data.
     417             *
     418             * @since 2.1.0
     419             */
     420            return apply_filters( 'merchant_modules_translation_data', array(
     421                'pre-orders'                 => array(
     422                    'title'        => esc_html__( 'Pre-Orders', 'merchant' ),
     423                    'desc'         => esc_html__( 'Allow visitors to pre-order products that are either out of stock or not yet released', 'merchant' ),
     424                    'tutorial_url' => 'https://docs.athemes.com/article/pre-orders/',
     425                ),
     426                'wait-list'                  => array(
     427                    'title'        => esc_html__( 'Waitlist', 'merchant' ),
     428                    'desc'         => esc_html__( 'Build waitlists for sold-out items and auto-notify potential customers when items are restocked', 'merchant' ),
     429                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-waitlist/',
     430                ),
     431                'product-bundles'            => array(
     432                    'title'        => esc_html__( 'Product Bundles', 'merchant' ),
     433                    'desc'         => esc_html__( 'Create bundles of products to be sold together and boost your average order value', 'merchant' ),
     434                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-bundles/',
     435                ),
     436                'frequently-bought-together' => array(
     437                    'title'        => esc_html__( 'Frequently Bought Together', 'merchant' ),
     438                    'desc'         => esc_html__( 'Create bundles of related products that customers can add to their cart with just one click', 'merchant' ),
     439                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-frequently-bought-together/',
     440                ),
     441                'buy-x-get-y'                => array(
     442                    'title'        => esc_html__( 'Buy X, Get Y', 'merchant' ),
     443                    'desc'         => esc_html__( 'Create offers where purchasing a specific quantity of Product X triggers a discount on Product Y', 'merchant' ),
     444                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-buy-x-get-y/',
     445                ),
     446                'complementary-products'     => array(
     447                    'title'        => esc_html__( 'Complementary Products', 'merchant' ),
     448                    'desc'         => esc_html__( 'Offer complementary products to help increase average order value', 'merchant' ),
     449                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-complementary-products/',
     450                ),
     451                'volume-discounts'           => array(
     452                    'title'        => esc_html__( 'Bulk Discounts', 'merchant' ),
     453                    'desc'         => esc_html__( 'Offer discounts on larger quantity purchases to drive up average order value', 'merchant' ),
     454                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-bulk-discounts/',
     455                ),
     456                'storewide-sale'             => array(
     457                    'title'        => esc_html__( 'Storewide Sale', 'merchant' ),
     458                    'desc'         => esc_html__( 'Create discount campaigns for all your products, specific categories, or specific products', 'merchant' ),
     459                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-storewide-sale/',
     460                ),
     461                'spending-goal'              => array(
     462                    'title'        => esc_html__( 'Spending Discount Goal', 'merchant' ),
     463                    'desc'         => esc_html__( 'Motivate higher order values by offering customers discounts for reaching spending goals', 'merchant' ),
     464                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-spending-goal/',
     465                ),
     466                'free-gifts'                 => array(
     467                    'title'        => esc_html__( 'Free Gifts', 'merchant' ),
     468                    'desc'         => esc_html__( 'Reward shoppers with a gift if they hit a specified spending target or apply a coupon', 'merchant' ),
     469                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-gift-card/',
     470                ),
     471                'free-shipping-progress-bar' => array(
     472                    'title'        => esc_html__( 'Free Shipping Bar', 'merchant' ),
     473                    'desc'         => esc_html__( 'Encourage customers to spend more by displaying the amount left needed for free shipping', 'merchant' ),
     474                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-free-shipping-progress-bar/',
     475                ),
     476                'product-labels'             => array(
     477                    'title'        => esc_html__( 'Product Labels', 'merchant' ),
     478                    'desc'         => esc_html__( 'Create customizable product labels with display conditions and color settings', 'merchant' ),
     479                    'tutorial_url' => 'https://docs.athemes.com/article/product-labels/',
     480                ),
     481                'quick-view'                 => array(
     482                    'title'        => esc_html__( 'Quick View', 'merchant' ),
     483                    'desc'         => esc_html__( 'Allows users to quickly view product details without leaving the current page', 'merchant' ),
     484                    'tutorial_url' => 'https://docs.athemes.com/article/quick-view/',
     485                ),
     486                'added-to-cart-popup'        => array(
     487                    'title'        => esc_html__( 'Added To Cart Popup', 'merchant' ),
     488                    'desc'         => esc_html__( 'Display a dynamic popup with product suggestions when items are added to the cart', 'merchant' ),
     489                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-added-to-cart-popup/',
     490                ),
     491                'countdown-timer'            => array(
     492                    'title'        => esc_html__( 'Countdown Timer', 'merchant' ),
     493                    'desc'         => esc_html__( 'Create a sense of urgency by displaying a countdown timer on your discounted products', 'merchant' ),
     494                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-countdown-timer/',
     495                ),
     496                'stock-scarcity'             => array(
     497                    'title'        => esc_html__( 'Stock Scarcity', 'merchant' ),
     498                    'desc'         => esc_html__( 'Let visitors know that stock is running low on products they are looking at', 'merchant' ),
     499                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-stock-scarcity/',
     500                ),
     501                'checkout'                   => array(
     502                    'title'        => esc_html__( 'Checkouts', 'merchant' ),
     503                    'desc'         => esc_html__( 'Choose from three different checkout layouts: Shopify-style, Multi-step or One-page', 'merchant' ),
     504                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-checkouts/',
     505                ),
     506                'sticky-add-to-cart'         => array(
     507                    'title'        => esc_html__( 'Sticky Add To Cart', 'merchant' ),
     508                    'desc'         => esc_html__( 'Display a sticky add to cart bar when visitors are scrolling on your product pages', 'merchant' ),
     509                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-sticky-add-to-cart/',
     510                ),
     511                'recently-viewed-products'   => array(
     512                    'title'        => esc_html__( 'Recently Viewed Products', 'merchant' ),
     513                    'desc'         => esc_html__( 'Show recently viewed products on product pages and in the cart', 'merchant' ),
     514                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-recently-viewed-products/',
     515                ),
     516                'buy-now'                    => array(
     517                    'title'        => esc_html__( 'Buy Now', 'merchant' ),
     518                    'desc'         => esc_html__( 'Send your customers directly to checkout instead of the cart with Buy Now buttons', 'merchant' ),
     519                    'tutorial_url' => 'https://docs.athemes.com/article/buy-now/',
     520                ),
     521                'cart-count-favicon'         => array(
     522                    'title'        => esc_html__( 'Cart Count Favicon', 'merchant' ),
     523                    'desc'         => esc_html__( 'Make your browser tab stand out by showing the number of items in the cart on the favicon', 'merchant' ),
     524                    'tutorial_url' => 'https://docs.athemes.com/article/cart-count-favicon/',
     525                ),
     526                'inactive-tab-message'       => array(
     527                    'title'        => esc_html__( 'Inactive Tab Message', 'merchant' ),
     528                    'desc'         => esc_html__( 'Modify the browser tab\'s title when the visitor navigates away from your store', 'merchant' ),
     529                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-inactive-tab-message/',
     530                ),
     531                'cart-reserved-timer'        => array(
     532                    'title'        => esc_html__( 'Cart Reserved Timer', 'merchant' ),
     533                    'desc'         => esc_html__( 'Create urgency by letting visitors know that the products in cart are reserved for a limited time', 'merchant' ),
     534                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-cart-reserved-timer/',
     535                ),
     536                'side-cart'                  => array(
     537                    'title'        => esc_html__( 'Side Cart', 'merchant' ),
     538                    'desc'         => esc_html__( 'Show a sliding cart whenever a customer adds a product to the cart', 'merchant' ),
     539                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-side-cart/',
     540                ),
     541                'payment-logos'              => array(
     542                    'title'        => esc_html__( 'Payment Logos', 'merchant' ),
     543                    'desc'         => esc_html__( 'Display the logos of the payment methods you accept on product pages', 'merchant' ),
     544                    'tutorial_url' => 'https://docs.athemes.com/article/payment-logos/',
     545                ),
     546                'trust-badges'               => array(
     547                    'title'        => esc_html__( 'Trust Badges', 'merchant' ),
     548                    'desc'         => esc_html__( 'Reassure customers by showcasing different badge-shaped store benefits', 'merchant' ),
     549                    'tutorial_url' => 'https://docs.athemes.com/article/trust-badges/',
     550                ),
     551                'advanced-reviews'           => array(
     552                    'title'        => esc_html__( 'Advanced Reviews', 'merchant' ),
     553                    'desc'         => esc_html__( 'Enhance your customer reviews with advanced features including photo uploads and more', 'merchant' ),
     554                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-advanced-reviews/',
     555                ),
     556                'recent-sales-notifications' => array(
     557                    'title'        => esc_html__( 'Recent Sales Notifications', 'merchant' ),
     558                    'desc'         => esc_html__( 'Build trust by displaying real-time notifications of purchases and other user activity on your store', 'merchant' ),
     559                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-recent-sales-notifications/',
     560                ),
     561                'reasons-to-buy'             => array(
     562                    'title'        => esc_html__( 'Reasons To Buy List', 'merchant' ),
     563                    'desc'         => esc_html__( 'Provide customers with a summary of the key features and benefits of your products', 'merchant' ),
     564                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-reasons-to-buy/',
     565                ),
     566                'quick-social-links'         => array(
     567                    'title'        => esc_html__( 'Quick Social Links', 'merchant' ),
     568                    'desc'         => esc_html__( 'Display floating social media icons to make it easier for your customers to connect with you', 'merchant' ),
     569                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-quick-social-links/',
     570                ),
     571                'product-brand-image'        => array(
     572                    'title'        => esc_html__( 'Product Brand Image', 'merchant' ),
     573                    'desc'         => esc_html__( 'Add brand images to products to instill confidence in potential buyers', 'merchant' ),
     574                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-brand-image/',
     575                ),
     576                'animated-add-to-cart'       => array(
     577                    'title'        => esc_html__( 'Animated Add to Cart', 'merchant' ),
     578                    'desc'         => esc_html__( 'Make your Add To Cart button stand out by adding an animation on mouse over or page load', 'merchant' ),
     579                    'tutorial_url' => 'https://docs.athemes.com/article/animated-add-to-cart/',
     580                ),
     581                'add-to-cart-text'           => array(
     582                    'title'        => esc_html__( 'Add To Cart Text', 'merchant' ),
     583                    'desc'         => esc_html__( 'Change your store\'s \'Add to Cart\' text for various product types, as well as individual products', 'merchant' ),
     584                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-add-to-cart-text/',
     585                ),
     586                'auto-external-links'        => array(
     587                    'title'        => esc_html__( 'Auto External Links', 'merchant' ),
     588                    'desc'         => esc_html__( 'Keep users from navigating away from your store by opening external links in a new browser tab', 'merchant' ),
     589                    'tutorial_url' => 'https://docs.athemes.com/article/auto-external-links/',
     590                ),
     591                'real-time-search'           => array(
     592                    'title'        => esc_html__( 'Real-Time Search', 'merchant' ),
     593                    'desc'         => esc_html__( 'Help visitors instantly find the products they\'re looking for by using predictive search', 'merchant' ),
     594                    'tutorial_url' => 'https://docs.athemes.com/article/real-time-search/',
     595                ),
     596                'scroll-to-top-button'       => array(
     597                    'title'        => esc_html__( 'Scroll to Top Button', 'merchant' ),
     598                    'desc'         => esc_html__( 'Help your customers get back easily to the top of the page with a single click', 'merchant' ),
     599                    'tutorial_url' => 'https://docs.athemes.com/article/scroll-to-top-button/',
     600                ),
     601                'address-autocomplete'       => array(
     602                    'title'        => esc_html__( 'Google Address Autocomplete', 'merchant' ),
     603                    'desc'         => esc_html__( 'Streamline your checkout process and reduce user errors by autocompleting the address fields', 'merchant' ),
     604                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-google-address-autocomplete/',
     605                ),
     606                'size-chart'                 => array(
     607                    'title'        => esc_html__( 'Size Chart', 'merchant' ),
     608                    'desc'         => esc_html__( 'Reduce returns and increase sales by showing a size chart on specific products or all products', 'merchant' ),
     609                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-size-chart/',
     610                ),
     611                'product-swatches'           => array(
     612                    'title'        => esc_html__( 'Variation Swatches', 'merchant' ),
     613                    'desc'         => esc_html__( 'Display variable product options as customizable color/image icons, buttons, or dropdowns', 'merchant' ),
     614                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-variation-swatches/',
     615                ),
     616                'wishlist'                   => array(
     617                    'title'        => esc_html__( 'Wishlist', 'merchant' ),
     618                    'desc'         => esc_html__( 'Allow customers to easily save products they are interested in for later', 'merchant' ),
     619                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-wishlist/',
     620                ),
     621                'product-navigation-links'   => array(
     622                    'title'        => esc_html__( 'Product Navigation Links', 'merchant' ),
     623                    'desc'         => esc_html__( 'Enable easy navigation from one product to the next with next/previous links', 'merchant' ),
     624                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-navigation-links/',
     625                ),
     626                'product-video'              => array(
     627                    'title'        => esc_html__( 'Product Video', 'merchant' ),
     628                    'desc'         => esc_html__( 'Upload video to be viewed in product galleries and on archive pages', 'merchant' ),
     629                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-video/',
     630                ),
     631                'product-audio'              => array(
     632                    'title'        => esc_html__( 'Product Audio', 'merchant' ),
     633                    'desc'         => esc_html__( 'Upload audio to be listened to in product galleries and on archive pages', 'merchant' ),
     634                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-product-audio/',
     635                ),
     636                'login-popup'                => array(
     637                    'title'        => esc_html__( 'Login Popup', 'merchant' ),
     638                    'desc'         => esc_html__( 'Allow users to log in with a simple pop up without navigating to a new page', 'merchant' ),
     639                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-login-popup/',
     640                ),
     641                'clear-cart'                 => array(
     642                    'title'        => esc_html__( 'Clear Cart', 'merchant' ),
     643                    'desc'         => esc_html__( 'Display a clear cart button to let customers empty their carts and start fresh', 'merchant' ),
     644                    'tutorial_url' => 'https://docs.athemes.com/article/merchant-clear-cart/',
     645                ),
     646                'agree-to-terms-checkbox'    => array(
     647                    'title'        => esc_html__( 'Agree to Terms Checkbox', 'merchant' ),
     648                    'desc'         => esc_html__( 'Get customers to agree to your Terms & Conditions as part of the checkout process', 'merchant' ),
     649                    'tutorial_url' => 'https://docs.athemes.com/article/agree-to-terms-checkbox/',
     650                ),
     651                'cookie-banner'              => array(
     652                    'title'        => esc_html__( 'Cookie Banner', 'merchant' ),
     653                    'desc'         => esc_html__( 'Inform your visitors that the site uses cookies via a dismissable banner', 'merchant' ),
     654                    'tutorial_url' => 'https://docs.athemes.com/article/cookie-banner/',
     655                ),
     656            ) );
     657        }
    520658    }
    521659
    522660    Merchant_Admin_Modules::instance();
    523 
    524661}
  • merchant/trunk/admin/pages/page-settings.php

    r3248005 r3287369  
    7777                            'default' => true,
    7878                        ),
     79                        array(
     80                            'id'      => 'usage_statistics_tracking',
     81                            'type'    => 'switcher',
     82                            'title'   => __( 'Enable modules usage tracking', 'merchant' ),
     83                            'desc'    => __( 'Track which modules are used on your site. This helps us improve our products and services. No personal data is collected.', 'merchant' ),
     84                            'default' => true,
     85                        ),
    7986                    ),
    8087                ) );
  • merchant/trunk/assets/js/admin/analytics.js

    r3232601 r3287369  
    1313function _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; } }
    1414function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
    15 function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
     15function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return r; }; var t, r = {}, e = Object.prototype, n = e.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", u = o.toStringTag || "@@toStringTag"; function c(t, r, e, n) { return Object.defineProperty(t, r, { value: e, enumerable: !n, configurable: !n, writable: !n }); } try { c({}, ""); } catch (t) { c = function c(t, r, e) { return t[r] = e; }; } function h(r, e, n, o) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype); return c(a, "_invoke", function (r, e, n) { var o = 1; return function (i, a) { if (3 === o) throw Error("Generator is already running"); if (4 === o) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var u = n.delegate; if (u) { var c = d(u, n); if (c) { if (c === f) continue; return c; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (1 === o) throw o = 4, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = 3; var h = s(r, e, n); if ("normal" === h.type) { if (o = n.done ? 4 : 2, h.arg === f) continue; return { value: h.arg, done: n.done }; } "throw" === h.type && (o = 4, n.method = "throw", n.arg = h.arg); } }; }(r, n, new Context(o || [])), !0), a; } function s(t, r, e) { try { return { type: "normal", arg: t.call(r, e) }; } catch (t) { return { type: "throw", arg: t }; } } r.wrap = h; var f = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var l = {}; c(l, i, function () { return this; }); var p = Object.getPrototypeOf, y = p && p(p(x([]))); y && y !== e && n.call(y, i) && (l = y); var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); function g(t) { ["next", "throw", "return"].forEach(function (r) { c(t, r, function (t) { return this._invoke(r, t); }); }); } function AsyncIterator(t, r) { function e(o, i, a, u) { var c = s(t[o], t, i); if ("throw" !== c.type) { var h = c.arg, f = h.value; return f && "object" == _typeof(f) && n.call(f, "__await") ? r.resolve(f.__await).then(function (t) { e("next", t, a, u); }, function (t) { e("throw", t, a, u); }) : r.resolve(f).then(function (t) { h.value = t, a(h); }, function (t) { return e("throw", t, a, u); }); } u(c.arg); } var o; c(this, "_invoke", function (t, n) { function i() { return new r(function (r, o) { e(t, n, r, o); }); } return o = o ? o.then(i, i) : i(); }, !0); } function d(r, e) { var n = e.method, o = r.i[n]; if (o === t) return e.delegate = null, "throw" === n && r.i.return && (e.method = "return", e.arg = t, d(r, e), "throw" === e.method) || "return" !== n && (e.method = "throw", e.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; var i = s(o, r.i, e.arg); if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, f; var a = i.arg; return a ? a.done ? (e[r.r] = a.value, e.next = r.n, "return" !== e.method && (e.method = "next", e.arg = t), e.delegate = null, f) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, f); } function w(t) { this.tryEntries.push(t); } function m(r) { var e = r[4] || {}; e.type = "normal", e.arg = t, r[4] = e; } function Context(t) { this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); } function x(r) { if (null != r) { var e = r[i]; if (e) return e.call(r); if ("function" == typeof r.next) return r; if (!isNaN(r.length)) { var o = -1, a = function e() { for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; return e.value = t, e.done = !0, e; }; return a.next = a; } } throw new TypeError(_typeof(r) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = c(GeneratorFunctionPrototype, u, "GeneratorFunction"), r.isGeneratorFunction = function (t) { var r = "function" == typeof t && t.constructor; return !!r && (r === GeneratorFunction || "GeneratorFunction" === (r.displayName || r.name)); }, r.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, "GeneratorFunction")), t.prototype = Object.create(v), t; }, r.awrap = function (t) { return { __await: t }; }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { return this; }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(h(t, e, n, o), i); return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, g(v), c(v, u, "Generator"), c(v, i, function () { return this; }), c(v, "toString", function () { return "[object Generator]"; }), r.keys = function (t) { var r = Object(t), e = []; for (var n in r) e.unshift(n); return function t() { for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; return t.done = !0, t; }; }, r.values = x, Context.prototype = { constructor: Context, reset: function reset(r) { if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0][4]; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(r) { if (this.done) throw r; var e = this; function n(t) { a.type = "throw", a.arg = r, e.next = t; } for (var o = e.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i[4], u = this.prev, c = i[1], h = i[2]; if (-1 === i[0]) return n("end"), !1; if (!c && !h) throw Error("try statement without catch or finally"); if (null != i[0] && i[0] <= u) { if (u < c) return this.method = "next", this.arg = t, n(c), !0; if (u < h) return n(h), !1; } } }, abrupt: function abrupt(t, r) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var n = this.tryEntries[e]; if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { var o = n; break; } } o && ("break" === t || "continue" === t) && o[0] <= r && r <= o[2] && (o = null); var i = o ? o[4] : {}; return i.type = t, i.arg = r, o ? (this.method = "next", this.next = o[2], f) : this.complete(i); }, complete: function complete(t, r) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), f; }, finish: function finish(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; } }, catch: function _catch(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[0] === t) { var n = e[4]; if ("throw" === n.type) { var o = n.arg; m(e); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(r, e, n) { return this.delegate = { i: x(r), r: e, n: n }, "next" === this.method && (this.arg = t), f; } }, r; }
    1616function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
    1717function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
     
    14041404        }, _callee8, this, [[6, 11]]);
    14051405      }));
    1406       function updateCampaignStatus(_x8, _x9, _x10) {
     1406      function updateCampaignStatus(_x8, _x9, _x0) {
    14071407        return _updateCampaignStatus.apply(this, arguments);
    14081408      }
  • merchant/trunk/assets/js/admin/analytics.min.js

    r3232601 r3287369  
    1 function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ownKeys(e,t){var a,n=Object.keys(e);return Object.getOwnPropertySymbols&&(a=Object.getOwnPropertySymbols(e),t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)),n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(a),!0).forEach(function(t){_defineProperty(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function _defineProperty(t,e,a){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0===a)return("string"===e?String:Number)(t);a=a.call(t,e||"default");if("object"!=_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}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.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=Array(e);a<e;a++)n[a]=t[a];return n}function _iterableToArrayLimit(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,r,o,i,s=[],c=!0,l=!1;try{if(o=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=o.call(a)).done)&&(s.push(n.value),s.length!==e);c=!0);}catch(t){l=!0,r=t}finally{try{if(!c&&null!=a.return&&(i=a.return(),Object(i)!==i))return}finally{if(l)throw r}}return s}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _regeneratorRuntime(){_regeneratorRuntime=function(){return i};var c,i={},t=Object.prototype,l=t.hasOwnProperty,d=Object.defineProperty||function(t,e,a){t[e]=a.value},e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",a=e.asyncIterator||"@@asyncIterator",r=e.toStringTag||"@@toStringTag";function o(t,e,a){return Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{o({},"")}catch(c){o=function(t,e,a){return t[e]=a}}function s(t,e,a,n){var r,o,i,s,e=e&&e.prototype instanceof v?e:v,e=Object.create(e.prototype),n=new D(n||[]);return d(e,"_invoke",{value:(r=t,o=a,i=n,s=h,function(t,e){if(s===f)throw Error("Generator is already running");if(s===g){if("throw"===t)throw e;return{value:c,done:!0}}for(i.method=t,i.arg=e;;){var a=i.delegate;if(a){a=function t(e,a){var n=a.method,r=e.iterator[n];if(r===c)return a.delegate=null,"throw"===n&&e.iterator.return&&(a.method="return",a.arg=c,t(e,a),"throw"===a.method)||"return"!==n&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;n=u(r,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,m;r=n.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=c),a.delegate=null,m):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,m)}(a,i);if(a){if(a===m)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(s===h)throw s=g,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);s=f;a=u(r,o,i);if("normal"===a.type){if(s=i.done?g:p,a.arg===m)continue;return{value:a.arg,done:i.done}}"throw"===a.type&&(s=g,i.method="throw",i.arg=a.arg)}})}),e}function u(t,e,a){try{return{type:"normal",arg:t.call(e,a)}}catch(t){return{type:"throw",arg:t}}}i.wrap=s;var h="suspendedStart",p="suspendedYield",f="executing",g="completed",m={};function v(){}function y(){}function b(){}var e={},w=(o(e,n,function(){return this}),Object.getPrototypeOf),w=w&&w(w(j([]))),_=(w&&w!==t&&l.call(w,n)&&(e=w),b.prototype=v.prototype=Object.create(e));function x(t){["next","throw","return"].forEach(function(e){o(t,e,function(t){return this._invoke(e,t)})})}function C(i,s){var e;d(this,"_invoke",{value:function(a,n){function t(){return new s(function(t,e){!function e(t,a,n,r){var o,t=u(i[t],i,a);if("throw"!==t.type)return(a=(o=t.arg).value)&&"object"==_typeof(a)&&l.call(a,"__await")?s.resolve(a.__await).then(function(t){e("next",t,n,r)},function(t){e("throw",t,n,r)}):s.resolve(a).then(function(t){o.value=t,n(o)},function(t){return e("throw",t,n,r)});r(t.arg)}(a,n,t,e)})}return e=e?e.then(t,t):t()}})}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function j(e){if(e||""===e){var a,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return a=-1,(t=function t(){for(;++a<e.length;)if(l.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=c,t.done=!0,t}).next=t}throw new TypeError(_typeof(e)+" is not iterable")}return d(_,"constructor",{value:y.prototype=b,configurable:!0}),d(b,"constructor",{value:y,configurable:!0}),y.displayName=o(b,r,"GeneratorFunction"),i.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},i.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,o(t,r,"GeneratorFunction")),t.prototype=Object.create(_),t},i.awrap=function(t){return{__await:t}},x(C.prototype),o(C.prototype,a,function(){return this}),i.AsyncIterator=C,i.async=function(t,e,a,n,r){void 0===r&&(r=Promise);var o=new C(s(t,e,a,n),r);return i.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},x(_),o(_,r,"Generator"),o(_,n,function(){return this}),o(_,"toString",function(){return"[object Generator]"}),i.keys=function(t){var e,a=Object(t),n=[];for(e in a)n.push(e);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in a)return t.value=e,t.done=!1,t}return t.done=!0,t}},i.values=j,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=c,this.done=!1,this.delegate=null,this.method="next",this.arg=c,this.tryEntries.forEach(A),!t)for(var e in this)"t"===e.charAt(0)&&l.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=c)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var n=this;function t(t,e){return o.type="throw",o.arg=a,n.next=t,e&&(n.method="next",n.arg=c),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var r=this.tryEntries[e],o=r.completion;if("root"===r.tryLoc)return t("end");if(r.tryLoc<=this.prev){var i=l.call(r,"catchLoc"),s=l.call(r,"finallyLoc");if(i&&s){if(this.prev<r.catchLoc)return t(r.catchLoc,!0);if(this.prev<r.finallyLoc)return t(r.finallyLoc)}else if(i){if(this.prev<r.catchLoc)return t(r.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return t(r.finallyLoc)}}}},abrupt:function(t,e){for(var a=this.tryEntries.length-1;0<=a;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&l.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}var o=(r=r&&("break"===t||"continue"===t)&&r.tryLoc<=e&&e<=r.finallyLoc?null:r)?r.completion:{};return o.type=t,o.arg=e,r?(this.method="next",this.next=r.finallyLoc,m):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var a=this.tryEntries[e];if(a.finallyLoc===t)return this.complete(a.completion,a.afterLoc),A(a),m}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var a,n,r=this.tryEntries[e];if(r.tryLoc===t)return"throw"===(a=r.completion).type&&(n=a.arg,A(r)),n}throw Error("illegal catch attempt")},delegateYield:function(t,e,a){return this.delegate={iterator:j(t),resultName:e,nextLoc:a},"next"===this.method&&(this.arg=c),m}},i}function asyncGeneratorStep(t,e,a,n,r,o,i){try{var s=t[o](i),c=s.value}catch(t){return void a(t)}s.done?e(c):Promise.resolve(c).then(n,r)}function _asyncToGenerator(s){return function(){var t=this,i=arguments;return new Promise(function(e,a){var n=s.apply(t,i);function r(t){asyncGeneratorStep(n,e,a,r,o,"next",t)}function o(t){asyncGeneratorStep(n,e,a,r,o,"throw",t)}r(void 0)})}}(l=>{var n,e,a,r,o,i,s,c,d={AJAX_URL:merchant_analytics.ajax_url,NONCE:merchant_analytics.nonce,impressionsChart:null,revenueChart:null,avgOrderValChart:null,columnChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},chart:{type:"bar",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},plotOptions:{bar:{columnWidth:"20%",borderRadius:5,borderRadiusApplication:"end",colors:{backgroundBarColors:["#ebeffd"],backgroundBarRadius:4}}},colors:["#3A63E9"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1}},tooltip:{enabled:!1}},revenueChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},legend:{show:!1},chart:{type:"area",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},stroke:{curve:"smooth",dashArray:6,width:2,lineCap:"round"},fill:{type:"gradient",gradient:{inverseColors:!1,opacityFrom:.55,opacityTo:.05,stops:[10,100]}},markers:{size:5,colors:["#fff"],strokeColors:"#3A63E9",strokeWidth:2,hover:{size:6}},colors:["#3A63E9","#393939"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1},tooltip:{enabled:!1}},tooltip:{fixed:{offsetX:0,offsetY:0},enabled:!0,theme:!1,custom:function(t){t.series;t=t.w.globals.initialSeries[t.seriesIndex].data[t.dataPointIndex];return'\n                        <div class="arrow-box">\n                            <div class="box-wrapper">\n                                <div class="box-column big">\n                                    <div class="head">\n                                        <div class="box-title">Total Income</div>\n                                        <div class="box-value">'.concat(t.number_currency,'</div>\n                                    </div>\n                                    <div class="orders-count">\n                                        <strong>').concat(t.orders_count,"</strong> ").concat(merchant_analytics.labels.orders,'\n                                    </div>\n                                </div>\n                                <div class="separator"></div>\n                                <div class="box-column small">\n                                    <div class="head">\n                                        <svg width="64" height="47" viewBox="0 0 64 41" fill="none" xmlns="http://www.w3.org/2000/svg">\n                                            \x3c!-- SVG content --\x3e\n                                        </svg>\n                                    </div>\n                                    <div class="change-percentage ').concat(t.diff_type,'">\n                                        <strong>').concat(t.difference,"%</strong>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>")}}},widgetChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},legend:{show:!1},chart:{type:"area",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},stroke:{curve:"smooth",width:2,lineCap:"round"},fill:{type:"gradient",colors:["#3A63E9"],gradient:{inverseColors:!1,opacityFrom:.55,opacityTo:.15,stops:[10,100]}},colors:["#3A63E9"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1},tooltip:{enabled:!1}},tooltip:{enabled:!1}},avgOrderValChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},chart:{type:"area",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},stroke:{curve:"straight",dashArray:6,width:2},fill:{type:"gradient",gradient:{inverseColors:!1,opacityFrom:.55,opacityTo:.05,stops:[10,100]}},markers:{size:5,colors:["#fff"],strokeColors:"#7880CA",strokeWidth:2,hover:{size:6}},colors:["#7880CA"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1},tooltip:{enabled:!1}},tooltip:{enabled:!0,theme:!1,custom:function(t){t.series;t=t.w.globals.initialSeries[t.seriesIndex].data[t.dataPointIndex];return'\n                        <div class="arrow-box-aov">\n                            <div class="box-title">'.concat(merchant_analytics.labels.orders_aov,'</div>\n                            <div class="box-value">').concat(t.number_currency,' <span class="diff ').concat(t.diff_type,'">').concat(t.difference,"%</span></div>\n                        </div>")}}},sendAjaxRequest:(c=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n,r=arguments;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=1<r.length&&void 0!==r[1]?r[1]:"",n=2<r.length&&void 0!==r[2]?r[2]:"GET",t.prev=2,a&&l(a).addClass("show"),t.next=6,l.ajax({url:this.AJAX_URL,method:n,data:e});case 6:return t.abrupt("return",t.sent);case 9:throw t.prev=9,t.t0=t.catch(2),console.error("AJAX request failed:",t.t0),t.t0;case 13:return t.prev=13,a&&l(a).removeClass("show"),t.finish(13);case 16:case"end":return t.stop()}},t,this,[[2,9,13,16]])})),function(t){return c.apply(this,arguments)}),prepareAjaxData:function(t,e,a){return{action:t,nonce:this.NONCE,start_date:e,end_date:a,compare_start_date:3<arguments.length&&void 0!==arguments[3]?arguments[3]:"",compare_end_date:4<arguments.length&&void 0!==arguments[4]?arguments[4]:""}},updateImpressionsChart:(s=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=_slicedToArray(e.formattedDate,2),n=a[0],a=a[1],t.prev=1,t.next=4,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_impressions_chart_data",n,a),".impressions-chart-section .merchant-analytics-loading-spinner");case 4:(n=t.sent).success&&this.impressionsChart.updateSeries([{data:n.data}]),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(1),console.error("Error fetching impressions data:",t.t0);case 11:case"end":return t.stop()}},t,this,[[1,8]])})),function(t){return s.apply(this,arguments)}),updateRevenueChart:(i=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=_slicedToArray(e.formattedDate,2),n=a[0],a=a[1],t.prev=1,t.next=4,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_revenue_chart_data",n,a),".revenue-chart-section .merchant-analytics-loading-spinner");case 4:(n=t.sent).success&&this.revenueChart.updateSeries([{data:n.data}]),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(1),console.error("Error fetching revenue data:",t.t0);case 11:case"end":return t.stop()}},t,this,[[1,8]])})),function(t){return i.apply(this,arguments)}),updateAOVChart:(o=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=_slicedToArray(e.formattedDate,2),n=a[0],a=a[1],t.prev=1,t.next=4,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_avg_order_value_chart_data",n,a),".aov-chart-section .merchant-analytics-loading-spinner");case 4:(n=t.sent).success&&this.avgOrderValChart.updateSeries([{data:n.data}]),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(1),console.error("Error fetching AOV data:",t.t0);case 11:case"end":return t.stop()}},t,this,[[1,8]])})),function(t){return o.apply(this,arguments)}),updateOverviewCards:(r=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.sendAjaxRequest(this.prepareAjaxData(l(".merchant-analytics-overview-section").attr("data-action"),e.startDate,e.endDate,e.compareStartDate,e.compareEndDate),".merchant-analytics-overview-section .merchant-analytics-loading-spinner");case 3:(a=t.sent).success&&this.updateCardsWithData(a.data),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error("Error fetching cards data:",t.t0);case 10:case"end":return t.stop()}},t,this,[[0,7]])})),function(t){return r.apply(this,arguments)}),updateCardsWithData:function(t){l(".merchant-analytics-overview-section").find(".overview-cards").html(t)},updatePerformingCampaignsTable:(a=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_top_performing_campaigns_table_data",e.startDate,e.endDate,"",""),".merchant-analytics-overview-section .merchant-analytics-loading-spinner");case 3:(a=t.sent).success&&this.updateTopCampaignsWithData(a.data,e.container),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error("Error fetching cards data:",t.t0);case 10:case"end":return t.stop()}},t,this,[[0,7]])})),function(t){return a.apply(this,arguments)}),updateAllCampaignsTable:(e=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_all_campaigns_table_data",e.startDate,e.endDate,"",""),".merchant-page-campaigns .merchant-analytics-loading-spinner");case 3:(a=t.sent).success&&(this.updateAllCampaignsWithData(a.data,e.container),this.populateFilterSelect(e.container)),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error("Error fetching cards data:",t.t0);case 10:case"end":return t.stop()}},t,this,[[0,7]])})),function(t){return e.apply(this,arguments)}),updateTopCampaignsWithData:function(t,e){var a=e.find("tbody");e.find("table th").removeClass("asc desc"),a.empty(),l.each(t,function(t,e){e="\n\t\t            <tr>\n\t\t                <td>".concat(e.campaign_info.module_name,": ").concat(e.campaign_info.campaign_title,"</td>\n\t\t                <td>").concat(e.impressions,"</td>\n\t\t                <td>").concat(e.clicks,'</td>\n\t\t                <td class="ctr">').concat(e.ctr,"</td>\n\t\t                <td>").concat(e.orders,"</td>\n\t\t                <td>").concat(e.revenue,"</td>\n\t\t            </tr>\n\t\t        ");l(a).append(e)})},updateAllCampaignsWithData:function(t,e){var o=[],a=e.find("tbody"),i=(a.empty(),e.find("table th").removeClass("asc desc"),e.find(".js-campaign-search").val(""),e.find(".no-results-message").hide(),0),e=e.find(".js-pagination"),s=parseInt(e.attr("data-rows-per-page"));l.each(t,function(a,n){var r=n.module_id;0<n.campaigns.length&&n.campaigns.forEach(function(t,e){i++;var e="".concat(r,"-campaign-").concat(a,"-").concat(e);o.push('\n\t\t\t\t            <tr\n\t\t\t\t            \tclass="'.concat(s<i?"is-hidden":"",'"\n\t\t\t\t            \t').concat(s<i?'style="display: none;"':"",'\n\t\t\t\t                data-module-id="').concat(r,'"\n\t\t\t\t                data-campaign-key="').concat(t.campaign_key,'"\n\t\t\t\t                data-campaign-id="').concat(t.campaign_id,'"\n\t\t\t\t                data-row-count="').concat(i,'">\n\t\t\t\t                <td><input type="checkbox" name="campaign_select[]" value="').concat(t.title,'" /></td>\n\t\t\t\t                <td class="merchant__campaign-name js-campaign-name">').concat(t.title,'</td>\n\t\t\t\t                <td class="merchant__module-name js-module-name" data-module-id="').concat(n.module_id,'">').concat(n.module_name,'</td>\n\t\t\t\t                <td class="merchant__status merchant-module-page-setting-field-switcher js-status">\n\t\t\t\t                    ').concat("active"===t.status||"inactive"===t.status?'<div class="merchant-toggle-switch">\n\t\t\t\t\t\t\t\t                <input type="checkbox" id="'.concat(e,'" name="merchant[').concat(e,']" value="').concat("active"===t.status?"1":"",'" ').concat("active"===t.status?"checked ":"",'class="toggle-switch-checkbox">\n\t\t\t\t\t\t\t\t                <label class="toggle-switch-label" for="').concat(e,'">\n\t\t\t\t\t\t\t\t                    <span class="toggle-switch-inner"></span>\n\t\t\t\t\t\t\t\t                    <span class="toggle-switch-switch"></span>\n\t\t\t\t\t\t\t\t                </label>\n\t\t\t\t\t\t\t\t\t\t\t</div>'):"-",'\n\t\t\t\t                </td>\n\t\t\t\t                <td class="merchant__impressions">').concat(t.impression,'</td>\n\t\t\t\t                <td class="merchant__clicks">').concat(t.clicks,'</td>\n\t\t\t\t                <td class="merchant__revenue">').concat(null!=(e=t.revenue)?e:"-",'</td>\n\t\t\t\t                <td class="merchant__ctr">').concat(t.ctr,'</td>\n\t\t\t\t                <td class="merchant__orders">').concat(t.orders,'</td>\n\t\t\t\t                <td class="merchant__edit">\n\t\t\t\t                    <a href="').concat(n.edit_url||"#",'" target="_blank">\n\t\t\t\t                        <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none">\n\t\t\t\t                            <path d="M8.30399 1.00174C8.90067 0.405063 9.8596 0.405063 10.4563 1.00174L10.7333 1.27876C11.33 1.87543 11.33 2.83437 10.7333 3.43104L6.51398 7.65037C6.3435 7.82085 6.10909 7.97001 5.85338 8.03394L3.7224 8.65192C3.55193 8.69454 3.36014 8.65192 3.23228 8.50276C3.08311 8.3749 3.04049 8.18311 3.08311 8.01263L3.70109 5.88166C3.76502 5.62594 3.91419 5.39154 4.08467 5.22106L8.30399 1.00174ZM9.73175 1.72627C9.53996 1.53448 9.22031 1.53448 9.02852 1.72627L8.38923 2.34425L9.39079 3.3458L10.0088 2.70651C10.2006 2.51473 10.2006 2.19508 10.0088 2.00329L9.73175 1.72627ZM4.68134 6.15869L4.31908 7.41596L5.57635 7.0537C5.66159 7.03239 5.72552 6.98977 5.78945 6.92584L8.66626 4.04903L7.68601 3.06878L4.8092 5.94559C4.74527 6.00952 4.70265 6.07345 4.68134 6.15869ZM4.61741 1.83281C4.89444 1.83281 5.12885 2.06722 5.12885 2.34425C5.12885 2.64258 4.89444 2.85568 4.61741 2.85568H2.23072C1.7406 2.85568 1.37834 3.23926 1.37834 3.70807V9.50431C1.37834 9.99444 1.7406 10.3567 2.23072 10.3567H8.02697C8.49578 10.3567 8.87936 9.99444 8.87936 9.50431V7.11763C8.87936 6.8406 9.09245 6.60619 9.39079 6.60619C9.66782 6.60619 9.90222 6.8406 9.90222 7.11763V9.50431C9.90222 10.5485 9.04983 11.3796 8.02697 11.3796H2.23072C1.18655 11.3796 0.355469 10.5485 0.355469 9.50431V3.70807C0.355469 2.6852 1.18655 1.83281 2.23072 1.83281H4.61741Z" fill="#565865"/>\n\t\t\t\t                        </svg>\n\t\t\t\t                        Edit\n\t\t\t\t                    </a>\n\t\t\t\t                </td>\n\t\t\t\t            </tr>\n\t\t\t\t        '))})}),l(a).append(o.join("")),this.updatePaginationButtons(1,parseInt(e.attr("data-total-pages-initial")),parseInt(e.attr("data-total-rows-initial")))},datePickerInit:function(t,e){var n=e.onSelectHandler,r=e.datePickerArgs,e=t.find(".date-range-input");e.length&&e.each(function(){var t=l(this),e=t.val(),a=[],e=(e&&(a=e.split(" - ").map(function(t){return new Date(t.trim())})),_objectSpread(_objectSpread({},{maxDate:new Date,locale:JSON.parse(merchant_datepicker_locale),range:!0,position:"bottom right",dateFormat:"MM/dd/yy",selectedDates:a,multipleDatesSeparator:" - ",onSelect:function(t){"function"==typeof n&&n(t)}}),r));new AirDatepicker(t.get(0),e)})},initOverviewCards:function(){var a=this,n=l(".merchant-analytics-overview-section");this.datePickerInit(n,{onSelectHandler:function(){var t=n.find(".first-date-range .date-range-input"),e=n.find(".second-date-range .date-range-input"),t=t.val().split(" - ").map(function(t){return t.trim()}),e=e.val().split(" - ").map(function(t){return t.trim()});2===t.length&&2===e.length&&a.updateOverviewCards({startDate:t[0],endDate:t[1],compareStartDate:e[0],compareEndDate:e[1]})}})},renderChart:function(t,e,a,n){var r=4<arguments.length&&void 0!==arguments[4]?arguments[4]:{},o=t.find(".chart");if(o.length)return(e=new ApexCharts(o.get(0),e)).render(),e.updateSeries([{data:JSON.parse(o.attr("data-period"))}]),this.datePickerInit(t,{onSelectHandler:function(t){2===t.formattedDate.length&&a(t)},datePickerArgs:r}),e},widgetChartRender:function(){var e=this,t=l(".widget-chart-section"),a=l("body").hasClass("rtl");d.revenueChart=this.renderChart(t,this.widgetChartOptions,function(t){return e.updateRevenueChart(t)},".widget-chart-section .merchant-analytics-loading-spinner",{position:a?"top right":"top left"})},revenueChartRender:function(){var e=this,t=l(".revenue-chart-section");t.length&&(this.revenueChart=this.renderChart(t,this.revenueChartOptions,function(t){return e.updateRevenueChart(t)},".revenue-chart-section .merchant-analytics-loading-spinner"))},avgOrderValChartRender:function(){var e=this,t=l(".aov-chart-section");t.length&&(this.avgOrderValChart=this.renderChart(t,this.avgOrderValChartOptions,function(t){return e.updateAOVChart(t)},".aov-chart-section .merchant-analytics-loading-spinner"))},impressionsChartRender:function(){var e=this,t=l(".impressions-chart-section");t.length&&(this.impressionsChart=this.renderChart(t,this.columnChartOptions,function(t){return e.updateImpressionsChart(t)},".impressions-chart-section .merchant-analytics-loading-spinner"))},initTopCampaignsTable:function(){var e=l(".merchant-analytics-section.campaigns-table"),a=this;e.length&&(this.datePickerInit(e,{onSelectHandler:function(){var t=e.find(".first-date-range .date-range-input").val().split(" - ").map(function(t){return t.trim()});2===t.length&&a.updatePerformingCampaignsTable({startDate:t[0],endDate:t[1],container:e})},datePickerArgs:{position:"top right"}}),this.setupSortableTableEventListeners(e))},initAllCampaignsTable:function(){var e=l(".merchant-analytics-section.all-campaigns-table"),a=this;e.length&&(this.datePickerInit(e,{onSelectHandler:function(){var t=e.find(".first-date-range .date-range-input").val().split(" - ").map(function(t){return t.trim()});2===t.length&&a.updateAllCampaignsTable({startDate:t[0],endDate:t[1],container:e})}}),a.setupSortableTableEventListeners(e),a.populateFilterSelect(e))},populateFilterSelect:function(t){var t=t.find(".js-campaigns-table"),a=l(".filter-campaign select"),n=(l(a).find("option:not(:first)").remove(),[]);l(t).find("tr .js-module-name").each(function(){var e=l(this).attr("data-module-id"),t=l(this).text().trim();e&&!n.some(function(t){return t.value===e})&&n.push({value:e,label:t})}),n.sort(),l.each(n,function(t,e){l(a).append(l("<option>",{value:e.value,text:e.label}))})},setupSortableTableEventListeners:function(e){var r=this,o=(e.find("th:not(.no-sort)").on("click",function(t){r.sortableTable(l(t.currentTarget),e)}),l(".js-campaigns-table")),t=l(".js-campaign-search"),a=l(".js-filter-module"),n=l(".js-bulk-action"),i=l(".js-pagination");o.find('thead th:first-child input[type="checkbox"]').on("change",function(){var t=l(this).prop("checked");o.find('tbody tr:not(.is-hidden) input[type="checkbox"]:not(.toggle-switch-checkbox)').prop("checked",t)}),o.on("change",'.js-status input[type="checkbox"]',function(){var t=l(this),e=t.closest("tr"),e=_defineProperty({},e.attr("data-module-id"),{campaign_key:e.attr("data-campaign-key"),campaigns:[{campaign_id:e.attr("data-campaign-id"),status:t.prop("checked")?"active":"inactive"}]});r.updateCampaignStatus(e,t,[t],!0)}),n.on("click",function(t){t.preventDefault();var a,n=l(this).closest(".bulk-action").find("select").val();n?(t=o.find('tbody tr:not(.is-hidden) input[type="checkbox"]:not(.toggle-switch-checkbox):checked')).length?(a={},t.each(function(){var t=l(this).closest("tr"),e=t.attr("data-module-id");a[e]||(a[e]={campaign_key:t.attr("data-campaign-key"),campaigns:[]}),a[e].campaigns.push({campaign_id:t.attr("data-campaign-id"),status:n})}),r.updateCampaignStatus(a,l(this),t)):alert("Please select campaigns."):alert("Please select an action.")}),t.on("input",r.debounce(function(){r.filterTableTable(a.val(),o,l(this).val())},300)),a.on("change",function(){r.filterTableTable(l(this).val(),o,""),t.val("")}),i.on("click",".pagination-button",function(t){t.preventDefault();var t=parseInt(l(this).attr("data-current-page")),e=parseInt(l(this).attr("data-page"));isNaN(e)||e===t||(r.paginateRows(t=e,o.find("tbody tr")),r.updatePaginationButtons(t))})},sortableTable:function(t,e){var n=t.index(),r=t.data("sort"),o=t.hasClass("asc")?"desc":"asc",t=(e.find("th").removeClass("asc desc"),t.addClass(o),e.find("tbody")),e=t.find("tr").toArray();e.sort(function(t,e){var a,t=l(t).find("td").eq(n).text(),e=l(e).find("td").eq(n).text(),t="int"===r?(a=parseInt(t.replace(/[^0-9]/g,""),10),parseInt(e.replace(/[^0-9]/g,""),10)):"float"===r?(a=parseFloat(t.replace(/[^0-9.]/g,"")),parseFloat(e.replace(/[^0-9.]/g,""))):(a=t,e);return"asc"==o?a<t?-1:t<a?1:0:t<a?-1:a<t?1:0}),t.append(e)},filterTableTable:function(r,t){var o,e,a,n,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"";t.length&&(o=0,(e=t.find("tbody tr")).each(function(){var t=l(this),e=t.attr("data-module-id"),a=t.find(".js-campaign-name").text().toLowerCase(),n=t.find(".js-module-name").text().toLowerCase(),e=!r||e===r,a=!i||a.includes(i)||n.includes(i);e&&a?(t.show().removeClass("filtered-out is-hidden"),o++):t.hide().addClass("filtered-out")}),a=o,n=parseInt(t.closest(".merchant-page-campaigns").find(".js-pagination").attr("data-rows-per-page")),n=Math.max(1,Math.ceil(a/n)),this.paginateRows(1,e),this.updateNoResults(0===o,t),this.updatePaginationButtons(1,n,a))},paginateRows:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1,e=1<arguments.length?arguments[1]:void 0,a=l(".js-pagination"),a=parseInt(a.attr("data-rows-per-page")),n=(t-1)*a,r=n+a;e.hide().addClass("is-hidden"),e.filter(":not(.filtered-out)").each(function(t){n<=t&&t<r&&l(this).show().removeClass("is-hidden")})},updateNoResults:function(t,e){var a=e.next(".no-results-message");t?(a.length||(a=l('<div class="no-results-message" style="">No matching campaigns found</div>'),e.after(a)),a.show()):a.length&&a.hide()},updatePaginationButtons:function(t,e,a){var n=l(".js-pagination"),r=(n.attr("data-current-page",t),e&&n.attr("data-total-pages",e),a&&n.attr("data-total-rows",a),e=parseInt(n.attr("data-total-pages")),"");if(1<t&&(r+='\n\t\t          <button class="pagination-button prev-page" data-page="'.concat(t-1,'">\n\t\t            <svg xmlns="http://www.w3.org/2000/svg" width="7" height="12" viewBox="0 0 7 12" fill="#565865">\n\t\t              <path d="M5.16797 11.3301L0.521484 6.48047C0.394531 6.32812 0.34375 6.17578 0.34375 6.02344C0.34375 5.89648 0.394531 5.74414 0.496094 5.61719L5.14258 0.767578C5.37109 0.513672 5.77734 0.513672 6.00586 0.742188C6.25977 0.970703 6.25977 1.35156 6.03125 1.60547L1.79102 6.02344L6.05664 10.4922C6.28516 10.7207 6.28516 11.127 6.03125 11.3555C5.80273 11.584 5.39648 11.584 5.16797 11.3301Z"/>\n\t\t            </svg>\n\t\t          </button>\n\t\t\t\t')),1<e)for(var o=1;o<=e;o++)r+='\n          \t\t\t<button class="pagination-button'.concat(o===t?" pagination-active":"",'" data-page="').concat(o,'">').concat(o,"</button>\n\t\t\t\t");t<e&&(r+='\n\t\t          <button class="pagination-button next-page" data-page="'.concat(t+1,'">\n\t\t            <svg xmlns="http://www.w3.org/2000/svg" width="7" height="12" viewBox="0 0 7 12" fill="#565865">\n\t\t              <path d="M1.80664 0.742188L6.45312 5.5918C6.55469 5.71875 6.63086 5.87109 6.63086 6.02344C6.63086 6.17578 6.55469 6.32812 6.45312 6.42969L1.80664 11.2793C1.57812 11.5332 1.17188 11.5332 0.943359 11.3047C0.689453 11.0762 0.689453 10.6953 0.917969 10.4414L5.18359 5.99805L0.917969 1.58008C0.689453 1.35156 0.689453 0.945312 0.943359 0.716797C1.17188 0.488281 1.57812 0.488281 1.80664 0.742188Z"/>\n\t\t            </svg>\n\t\t          </button>\n\t\t\t\t')),n.html(r);var i,s,c=l(".js-pagination-results");1<e?(i=parseInt(n.attr("data-total-rows")),n=(s=(t-1)*(n=parseInt(n.attr("data-rows-per-page"))))+n,c.find(".pagination-start-row").text(s||1),c.find(".pagination-end-row").text(i<n?i:n),c.find(".pagination-total-rows").text(a),c.show()):c.hide()},updateCampaignStatus:(n=_asyncToGenerator(_regeneratorRuntime().mark(function t(e,a,n){var r,o,i,s,c=arguments;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=3<c.length&&void 0!==c[3]&&c[3],o=this,i=a.closest(".all-campaigns-table").find(".js-campaigns-table"),s='<span class="spinner is-active"></span>',a.prop("disabled",!0),r?(a.closest(".merchant-toggle-switch").append(s),a.closest("tr").css("opacity",".7")):(i.css("opacity",".7"),a.closest(".bulk-action").append(s)),t.prev=6,t.next=9,this.sendAjaxRequest({action:"merchant_update_campaign_status",nonce:o.NONCE,campaign_data:e},"","POST").then(function(t){t.success&&(r||null!=n&&n.each(function(){l(this).closest("tr").find('.js-status input[type="checkbox"]').prop("checked","active"===t.data.status)}),l(document).trigger("merchant_campaign_status_updated",[t.data,a,n,r,e])),l(".spinner").remove(),a.prop("disabled",!1),(r?a.closest("tr"):(null!=n&&n.each(function(){i.find('thead th:first-child input[type="checkbox"]').prop("checked",!1),l(this).prop("checked",!1)}),i)).css("opacity","")});case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(6),console.error("Error fetching campaign status data:",t.t0);case 14:case"end":return t.stop()}},t,this,[[6,11]])})),function(t,e,a){return n.apply(this,arguments)}),debounce:function(r,o){var i;return function(){for(var t=this,e=arguments.length,a=new Array(e),n=0;n<e;n++)a[n]=arguments[n];clearTimeout(i),i=setTimeout(function(){return r.apply(t,a)},o)}}};l(document).ready(function(){d.initOverviewCards(),d.widgetChartRender(),d.revenueChartRender(),d.avgOrderValChartRender(),d.impressionsChartRender(),d.initTopCampaignsTable(),d.initAllCampaignsTable()})})(jQuery);
     1function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ownKeys(e,t){var a,n=Object.keys(e);return Object.getOwnPropertySymbols&&(a=Object.getOwnPropertySymbols(e),t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)),n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(a),!0).forEach(function(t){_defineProperty(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function _defineProperty(t,e,a){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0===a)return("string"===e?String:Number)(t);a=a.call(t,e||"default");if("object"!=_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}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.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=Array(e);a<e;a++)n[a]=t[a];return n}function _iterableToArrayLimit(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,r,o,i,s=[],c=!0,l=!1;try{if(o=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=o.call(a)).done)&&(s.push(n.value),s.length!==e);c=!0);}catch(t){l=!0,r=t}finally{try{if(!c&&null!=a.return&&(i=a.return(),Object(i)!==i))return}finally{if(l)throw r}}return s}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _regeneratorRuntime(){_regeneratorRuntime=function(){return i};var l,i={},t=Object.prototype,c=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",a=e.asyncIterator||"@@asyncIterator",r=e.toStringTag||"@@toStringTag";function d(t,e,a,n){return Object.defineProperty(t,e,{value:a,enumerable:!n,configurable:!n,writable:!n})}try{d({},"")}catch(l){d=function(t,e,a){return t[e]=a}}function s(t,e,a,n){var r,o,i,s,e=e&&e.prototype instanceof p?e:p,e=Object.create(e.prototype);return d(e,"_invoke",(r=t,o=a,i=new _(n||[]),s=1,function(t,e){if(3===s)throw Error("Generator is already running");if(4===s){if("throw"===t)throw e;return{value:l,done:!0}}for(i.method=t,i.arg=e;;){var a=i.delegate;if(a){a=function t(e,a){var n=a.method,r=e.i[n];if(r===l)return a.delegate=null,"throw"===n&&e.i.return&&(a.method="return",a.arg=l,t(e,a),"throw"===a.method)||"return"!==n&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+n+"' method")),h;n=u(r,e.i,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,h;r=n.arg;return r?r.done?(a[e.r]=r.value,a.next=e.n,"return"!==a.method&&(a.method="next",a.arg=l),a.delegate=null,h):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,h)}(a,i);if(a){if(a===h)continue;return a}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(1===s)throw s=4,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);s=3;a=u(r,o,i);if("normal"===a.type){if(s=i.done?4:2,a.arg===h)continue;return{value:a.arg,done:i.done}}"throw"===a.type&&(s=4,i.method="throw",i.arg=a.arg)}}),!0),e}function u(t,e,a){try{return{type:"normal",arg:t.call(e,a)}}catch(t){return{type:"throw",arg:t}}}i.wrap=s;var h={};function p(){}function o(){}function f(){}var e={},g=(d(e,n,function(){return this}),Object.getPrototypeOf),g=g&&g(g(x([]))),m=(g&&g!==t&&c.call(g,n)&&(e=g),f.prototype=p.prototype=Object.create(e));function v(t){["next","throw","return"].forEach(function(e){d(t,e,function(t){return this._invoke(e,t)})})}function y(i,s){var e;d(this,"_invoke",function(a,n){function t(){return new s(function(t,e){!function e(t,a,n,r){var o,t=u(i[t],i,a);if("throw"!==t.type)return(a=(o=t.arg).value)&&"object"==_typeof(a)&&c.call(a,"__await")?s.resolve(a.__await).then(function(t){e("next",t,n,r)},function(t){e("throw",t,n,r)}):s.resolve(a).then(function(t){o.value=t,n(o)},function(t){return e("throw",t,n,r)});r(t.arg)}(a,n,t,e)})}return e=e?e.then(t,t):t()},!0)}function b(t){this.tryEntries.push(t)}function w(t){var e=t[4]||{};e.type="normal",e.arg=l,t[4]=e}function _(t){this.tryEntries=[[-1]],t.forEach(b,this),this.reset(!0)}function x(e){if(null!=e){var a,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return a=-1,(t=function t(){for(;++a<e.length;)if(c.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=l,t.done=!0,t}).next=t}throw new TypeError(_typeof(e)+" is not iterable")}return d(m,"constructor",o.prototype=f),d(f,"constructor",o),o.displayName=d(f,r,"GeneratorFunction"),i.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===o||"GeneratorFunction"===(t.displayName||t.name))},i.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,d(t,r,"GeneratorFunction")),t.prototype=Object.create(m),t},i.awrap=function(t){return{__await:t}},v(y.prototype),d(y.prototype,a,function(){return this}),i.AsyncIterator=y,i.async=function(t,e,a,n,r){void 0===r&&(r=Promise);var o=new y(s(t,e,a,n),r);return i.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},v(m),d(m,r,"Generator"),d(m,n,function(){return this}),d(m,"toString",function(){return"[object Generator]"}),i.keys=function(t){var e,a=Object(t),n=[];for(e in a)n.unshift(e);return function t(){for(;n.length;)if((e=n.pop())in a)return t.value=e,t.done=!1,t;return t.done=!0,t}},i.values=x,_.prototype={constructor:_,reset:function(t){if(this.prev=this.next=0,this.sent=this._sent=l,this.done=!1,this.delegate=null,this.method="next",this.arg=l,this.tryEntries.forEach(w),!t)for(var e in this)"t"===e.charAt(0)&&c.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=l)},stop:function(){this.done=!0;var t=this.tryEntries[0][4];if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var a=this;function t(t){o.type="throw",o.arg=e,a.next=t}for(var n=a.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n],o=r[4],i=this.prev,s=r[1],c=r[2];if(-1===r[0])return t("end"),!1;if(!s&&!c)throw Error("try statement without catch or finally");if(null!=r[0]&&r[0]<=i){if(i<s)return this.method="next",this.arg=l,t(s),!0;if(i<c)return t(c),!1}}},abrupt:function(t,e){for(var a=this.tryEntries.length-1;0<=a;--a){var n=this.tryEntries[a];if(-1<n[0]&&n[0]<=this.prev&&this.prev<n[2]){var r=n;break}}var o=(r=r&&("break"===t||"continue"===t)&&r[0]<=e&&e<=r[2]?null:r)?r[4]:{};return o.type=t,o.arg=e,r?(this.method="next",this.next=r[2],h):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var a=this.tryEntries[e];if(a[2]===t)return this.complete(a[4],a[3]),w(a),h}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var a,n,r=this.tryEntries[e];if(r[0]===t)return"throw"===(a=r[4]).type&&(n=a.arg,w(r)),n}throw Error("illegal catch attempt")},delegateYield:function(t,e,a){return this.delegate={i:x(t),r:e,n:a},"next"===this.method&&(this.arg=l),h}},i}function asyncGeneratorStep(t,e,a,n,r,o,i){try{var s=t[o](i),c=s.value}catch(t){return void a(t)}s.done?e(c):Promise.resolve(c).then(n,r)}function _asyncToGenerator(s){return function(){var t=this,i=arguments;return new Promise(function(e,a){var n=s.apply(t,i);function r(t){asyncGeneratorStep(n,e,a,r,o,"next",t)}function o(t){asyncGeneratorStep(n,e,a,r,o,"throw",t)}r(void 0)})}}(l=>{var n,e,a,r,o,i,s,c,d={AJAX_URL:merchant_analytics.ajax_url,NONCE:merchant_analytics.nonce,impressionsChart:null,revenueChart:null,avgOrderValChart:null,columnChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},chart:{type:"bar",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},plotOptions:{bar:{columnWidth:"20%",borderRadius:5,borderRadiusApplication:"end",colors:{backgroundBarColors:["#ebeffd"],backgroundBarRadius:4}}},colors:["#3A63E9"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1}},tooltip:{enabled:!1}},revenueChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},legend:{show:!1},chart:{type:"area",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},stroke:{curve:"smooth",dashArray:6,width:2,lineCap:"round"},fill:{type:"gradient",gradient:{inverseColors:!1,opacityFrom:.55,opacityTo:.05,stops:[10,100]}},markers:{size:5,colors:["#fff"],strokeColors:"#3A63E9",strokeWidth:2,hover:{size:6}},colors:["#3A63E9","#393939"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1},tooltip:{enabled:!1}},tooltip:{fixed:{offsetX:0,offsetY:0},enabled:!0,theme:!1,custom:function(t){t.series;t=t.w.globals.initialSeries[t.seriesIndex].data[t.dataPointIndex];return'\n                        <div class="arrow-box">\n                            <div class="box-wrapper">\n                                <div class="box-column big">\n                                    <div class="head">\n                                        <div class="box-title">Total Income</div>\n                                        <div class="box-value">'.concat(t.number_currency,'</div>\n                                    </div>\n                                    <div class="orders-count">\n                                        <strong>').concat(t.orders_count,"</strong> ").concat(merchant_analytics.labels.orders,'\n                                    </div>\n                                </div>\n                                <div class="separator"></div>\n                                <div class="box-column small">\n                                    <div class="head">\n                                        <svg width="64" height="47" viewBox="0 0 64 41" fill="none" xmlns="http://www.w3.org/2000/svg">\n                                            \x3c!-- SVG content --\x3e\n                                        </svg>\n                                    </div>\n                                    <div class="change-percentage ').concat(t.diff_type,'">\n                                        <strong>').concat(t.difference,"%</strong>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>")}}},widgetChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},legend:{show:!1},chart:{type:"area",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},stroke:{curve:"smooth",width:2,lineCap:"round"},fill:{type:"gradient",colors:["#3A63E9"],gradient:{inverseColors:!1,opacityFrom:.55,opacityTo:.15,stops:[10,100]}},colors:["#3A63E9"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1},tooltip:{enabled:!1}},tooltip:{enabled:!1}},avgOrderValChartOptions:{series:[{data:[]}],noData:{text:"No data available",align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:"#686868",fontSize:"18px"}},chart:{type:"area",height:350,stacked:!1,toolbar:{show:!1,offsetX:-10,offsetY:10,tools:{download:!1,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!1,reset:!0}},zoom:{enabled:!1,allowMouseWheelZoom:!1}},stroke:{curve:"straight",dashArray:6,width:2},fill:{type:"gradient",gradient:{inverseColors:!1,opacityFrom:.55,opacityTo:.05,stops:[10,100]}},markers:{size:5,colors:["#fff"],strokeColors:"#7880CA",strokeWidth:2,hover:{size:6}},colors:["#7880CA"],dataLabels:{enabled:!1},grid:{show:!0,borderColor:"#D8D8D8",strokeDashArray:5,position:"back",xaxis:{lines:{show:!0,offsetX:60,style:{dashArray:5}}},yaxis:{lines:{show:!1}}},xaxis:{axisTicks:{show:!1},axisBorder:{show:!0,color:"#D8D8D8",height:1},tooltip:{enabled:!1}},tooltip:{enabled:!0,theme:!1,custom:function(t){t.series;t=t.w.globals.initialSeries[t.seriesIndex].data[t.dataPointIndex];return'\n                        <div class="arrow-box-aov">\n                            <div class="box-title">'.concat(merchant_analytics.labels.orders_aov,'</div>\n                            <div class="box-value">').concat(t.number_currency,' <span class="diff ').concat(t.diff_type,'">').concat(t.difference,"%</span></div>\n                        </div>")}}},sendAjaxRequest:(c=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n,r=arguments;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=1<r.length&&void 0!==r[1]?r[1]:"",n=2<r.length&&void 0!==r[2]?r[2]:"GET",t.prev=2,a&&l(a).addClass("show"),t.next=6,l.ajax({url:this.AJAX_URL,method:n,data:e});case 6:return t.abrupt("return",t.sent);case 9:throw t.prev=9,t.t0=t.catch(2),console.error("AJAX request failed:",t.t0),t.t0;case 13:return t.prev=13,a&&l(a).removeClass("show"),t.finish(13);case 16:case"end":return t.stop()}},t,this,[[2,9,13,16]])})),function(t){return c.apply(this,arguments)}),prepareAjaxData:function(t,e,a){return{action:t,nonce:this.NONCE,start_date:e,end_date:a,compare_start_date:3<arguments.length&&void 0!==arguments[3]?arguments[3]:"",compare_end_date:4<arguments.length&&void 0!==arguments[4]?arguments[4]:""}},updateImpressionsChart:(s=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=_slicedToArray(e.formattedDate,2),n=a[0],a=a[1],t.prev=1,t.next=4,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_impressions_chart_data",n,a),".impressions-chart-section .merchant-analytics-loading-spinner");case 4:(n=t.sent).success&&this.impressionsChart.updateSeries([{data:n.data}]),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(1),console.error("Error fetching impressions data:",t.t0);case 11:case"end":return t.stop()}},t,this,[[1,8]])})),function(t){return s.apply(this,arguments)}),updateRevenueChart:(i=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=_slicedToArray(e.formattedDate,2),n=a[0],a=a[1],t.prev=1,t.next=4,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_revenue_chart_data",n,a),".revenue-chart-section .merchant-analytics-loading-spinner");case 4:(n=t.sent).success&&this.revenueChart.updateSeries([{data:n.data}]),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(1),console.error("Error fetching revenue data:",t.t0);case 11:case"end":return t.stop()}},t,this,[[1,8]])})),function(t){return i.apply(this,arguments)}),updateAOVChart:(o=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=_slicedToArray(e.formattedDate,2),n=a[0],a=a[1],t.prev=1,t.next=4,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_avg_order_value_chart_data",n,a),".aov-chart-section .merchant-analytics-loading-spinner");case 4:(n=t.sent).success&&this.avgOrderValChart.updateSeries([{data:n.data}]),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(1),console.error("Error fetching AOV data:",t.t0);case 11:case"end":return t.stop()}},t,this,[[1,8]])})),function(t){return o.apply(this,arguments)}),updateOverviewCards:(r=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.sendAjaxRequest(this.prepareAjaxData(l(".merchant-analytics-overview-section").attr("data-action"),e.startDate,e.endDate,e.compareStartDate,e.compareEndDate),".merchant-analytics-overview-section .merchant-analytics-loading-spinner");case 3:(a=t.sent).success&&this.updateCardsWithData(a.data),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error("Error fetching cards data:",t.t0);case 10:case"end":return t.stop()}},t,this,[[0,7]])})),function(t){return r.apply(this,arguments)}),updateCardsWithData:function(t){l(".merchant-analytics-overview-section").find(".overview-cards").html(t)},updatePerformingCampaignsTable:(a=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_top_performing_campaigns_table_data",e.startDate,e.endDate,"",""),".merchant-analytics-overview-section .merchant-analytics-loading-spinner");case 3:(a=t.sent).success&&this.updateTopCampaignsWithData(a.data,e.container),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error("Error fetching cards data:",t.t0);case 10:case"end":return t.stop()}},t,this,[[0,7]])})),function(t){return a.apply(this,arguments)}),updateAllCampaignsTable:(e=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var a;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.sendAjaxRequest(this.prepareAjaxData("merchant_get_all_campaigns_table_data",e.startDate,e.endDate,"",""),".merchant-page-campaigns .merchant-analytics-loading-spinner");case 3:(a=t.sent).success&&(this.updateAllCampaignsWithData(a.data,e.container),this.populateFilterSelect(e.container)),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error("Error fetching cards data:",t.t0);case 10:case"end":return t.stop()}},t,this,[[0,7]])})),function(t){return e.apply(this,arguments)}),updateTopCampaignsWithData:function(t,e){var a=e.find("tbody");e.find("table th").removeClass("asc desc"),a.empty(),l.each(t,function(t,e){e="\n\t\t            <tr>\n\t\t                <td>".concat(e.campaign_info.module_name,": ").concat(e.campaign_info.campaign_title,"</td>\n\t\t                <td>").concat(e.impressions,"</td>\n\t\t                <td>").concat(e.clicks,'</td>\n\t\t                <td class="ctr">').concat(e.ctr,"</td>\n\t\t                <td>").concat(e.orders,"</td>\n\t\t                <td>").concat(e.revenue,"</td>\n\t\t            </tr>\n\t\t        ");l(a).append(e)})},updateAllCampaignsWithData:function(t,e){var o=[],a=e.find("tbody"),i=(a.empty(),e.find("table th").removeClass("asc desc"),e.find(".js-campaign-search").val(""),e.find(".no-results-message").hide(),0),e=e.find(".js-pagination"),s=parseInt(e.attr("data-rows-per-page"));l.each(t,function(a,n){var r=n.module_id;0<n.campaigns.length&&n.campaigns.forEach(function(t,e){i++;var e="".concat(r,"-campaign-").concat(a,"-").concat(e);o.push('\n\t\t\t\t            <tr\n\t\t\t\t            \tclass="'.concat(s<i?"is-hidden":"",'"\n\t\t\t\t            \t').concat(s<i?'style="display: none;"':"",'\n\t\t\t\t                data-module-id="').concat(r,'"\n\t\t\t\t                data-campaign-key="').concat(t.campaign_key,'"\n\t\t\t\t                data-campaign-id="').concat(t.campaign_id,'"\n\t\t\t\t                data-row-count="').concat(i,'">\n\t\t\t\t                <td><input type="checkbox" name="campaign_select[]" value="').concat(t.title,'" /></td>\n\t\t\t\t                <td class="merchant__campaign-name js-campaign-name">').concat(t.title,'</td>\n\t\t\t\t                <td class="merchant__module-name js-module-name" data-module-id="').concat(n.module_id,'">').concat(n.module_name,'</td>\n\t\t\t\t                <td class="merchant__status merchant-module-page-setting-field-switcher js-status">\n\t\t\t\t                    ').concat("active"===t.status||"inactive"===t.status?'<div class="merchant-toggle-switch">\n\t\t\t\t\t\t\t\t                <input type="checkbox" id="'.concat(e,'" name="merchant[').concat(e,']" value="').concat("active"===t.status?"1":"",'" ').concat("active"===t.status?"checked ":"",'class="toggle-switch-checkbox">\n\t\t\t\t\t\t\t\t                <label class="toggle-switch-label" for="').concat(e,'">\n\t\t\t\t\t\t\t\t                    <span class="toggle-switch-inner"></span>\n\t\t\t\t\t\t\t\t                    <span class="toggle-switch-switch"></span>\n\t\t\t\t\t\t\t\t                </label>\n\t\t\t\t\t\t\t\t\t\t\t</div>'):"-",'\n\t\t\t\t                </td>\n\t\t\t\t                <td class="merchant__impressions">').concat(t.impression,'</td>\n\t\t\t\t                <td class="merchant__clicks">').concat(t.clicks,'</td>\n\t\t\t\t                <td class="merchant__revenue">').concat(null!=(e=t.revenue)?e:"-",'</td>\n\t\t\t\t                <td class="merchant__ctr">').concat(t.ctr,'</td>\n\t\t\t\t                <td class="merchant__orders">').concat(t.orders,'</td>\n\t\t\t\t                <td class="merchant__edit">\n\t\t\t\t                    <a href="').concat(n.edit_url||"#",'" target="_blank">\n\t\t\t\t                        <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none">\n\t\t\t\t                            <path d="M8.30399 1.00174C8.90067 0.405063 9.8596 0.405063 10.4563 1.00174L10.7333 1.27876C11.33 1.87543 11.33 2.83437 10.7333 3.43104L6.51398 7.65037C6.3435 7.82085 6.10909 7.97001 5.85338 8.03394L3.7224 8.65192C3.55193 8.69454 3.36014 8.65192 3.23228 8.50276C3.08311 8.3749 3.04049 8.18311 3.08311 8.01263L3.70109 5.88166C3.76502 5.62594 3.91419 5.39154 4.08467 5.22106L8.30399 1.00174ZM9.73175 1.72627C9.53996 1.53448 9.22031 1.53448 9.02852 1.72627L8.38923 2.34425L9.39079 3.3458L10.0088 2.70651C10.2006 2.51473 10.2006 2.19508 10.0088 2.00329L9.73175 1.72627ZM4.68134 6.15869L4.31908 7.41596L5.57635 7.0537C5.66159 7.03239 5.72552 6.98977 5.78945 6.92584L8.66626 4.04903L7.68601 3.06878L4.8092 5.94559C4.74527 6.00952 4.70265 6.07345 4.68134 6.15869ZM4.61741 1.83281C4.89444 1.83281 5.12885 2.06722 5.12885 2.34425C5.12885 2.64258 4.89444 2.85568 4.61741 2.85568H2.23072C1.7406 2.85568 1.37834 3.23926 1.37834 3.70807V9.50431C1.37834 9.99444 1.7406 10.3567 2.23072 10.3567H8.02697C8.49578 10.3567 8.87936 9.99444 8.87936 9.50431V7.11763C8.87936 6.8406 9.09245 6.60619 9.39079 6.60619C9.66782 6.60619 9.90222 6.8406 9.90222 7.11763V9.50431C9.90222 10.5485 9.04983 11.3796 8.02697 11.3796H2.23072C1.18655 11.3796 0.355469 10.5485 0.355469 9.50431V3.70807C0.355469 2.6852 1.18655 1.83281 2.23072 1.83281H4.61741Z" fill="#565865"/>\n\t\t\t\t                        </svg>\n\t\t\t\t                        Edit\n\t\t\t\t                    </a>\n\t\t\t\t                </td>\n\t\t\t\t            </tr>\n\t\t\t\t        '))})}),l(a).append(o.join("")),this.updatePaginationButtons(1,parseInt(e.attr("data-total-pages-initial")),parseInt(e.attr("data-total-rows-initial")))},datePickerInit:function(t,e){var n=e.onSelectHandler,r=e.datePickerArgs,e=t.find(".date-range-input");e.length&&e.each(function(){var t=l(this),e=t.val(),a=[],e=(e&&(a=e.split(" - ").map(function(t){return new Date(t.trim())})),_objectSpread(_objectSpread({},{maxDate:new Date,locale:JSON.parse(merchant_datepicker_locale),range:!0,position:"bottom right",dateFormat:"MM/dd/yy",selectedDates:a,multipleDatesSeparator:" - ",onSelect:function(t){"function"==typeof n&&n(t)}}),r));new AirDatepicker(t.get(0),e)})},initOverviewCards:function(){var a=this,n=l(".merchant-analytics-overview-section");this.datePickerInit(n,{onSelectHandler:function(){var t=n.find(".first-date-range .date-range-input"),e=n.find(".second-date-range .date-range-input"),t=t.val().split(" - ").map(function(t){return t.trim()}),e=e.val().split(" - ").map(function(t){return t.trim()});2===t.length&&2===e.length&&a.updateOverviewCards({startDate:t[0],endDate:t[1],compareStartDate:e[0],compareEndDate:e[1]})}})},renderChart:function(t,e,a,n){var r=4<arguments.length&&void 0!==arguments[4]?arguments[4]:{},o=t.find(".chart");if(o.length)return(e=new ApexCharts(o.get(0),e)).render(),e.updateSeries([{data:JSON.parse(o.attr("data-period"))}]),this.datePickerInit(t,{onSelectHandler:function(t){2===t.formattedDate.length&&a(t)},datePickerArgs:r}),e},widgetChartRender:function(){var e=this,t=l(".widget-chart-section"),a=l("body").hasClass("rtl");d.revenueChart=this.renderChart(t,this.widgetChartOptions,function(t){return e.updateRevenueChart(t)},".widget-chart-section .merchant-analytics-loading-spinner",{position:a?"top right":"top left"})},revenueChartRender:function(){var e=this,t=l(".revenue-chart-section");t.length&&(this.revenueChart=this.renderChart(t,this.revenueChartOptions,function(t){return e.updateRevenueChart(t)},".revenue-chart-section .merchant-analytics-loading-spinner"))},avgOrderValChartRender:function(){var e=this,t=l(".aov-chart-section");t.length&&(this.avgOrderValChart=this.renderChart(t,this.avgOrderValChartOptions,function(t){return e.updateAOVChart(t)},".aov-chart-section .merchant-analytics-loading-spinner"))},impressionsChartRender:function(){var e=this,t=l(".impressions-chart-section");t.length&&(this.impressionsChart=this.renderChart(t,this.columnChartOptions,function(t){return e.updateImpressionsChart(t)},".impressions-chart-section .merchant-analytics-loading-spinner"))},initTopCampaignsTable:function(){var e=l(".merchant-analytics-section.campaigns-table"),a=this;e.length&&(this.datePickerInit(e,{onSelectHandler:function(){var t=e.find(".first-date-range .date-range-input").val().split(" - ").map(function(t){return t.trim()});2===t.length&&a.updatePerformingCampaignsTable({startDate:t[0],endDate:t[1],container:e})},datePickerArgs:{position:"top right"}}),this.setupSortableTableEventListeners(e))},initAllCampaignsTable:function(){var e=l(".merchant-analytics-section.all-campaigns-table"),a=this;e.length&&(this.datePickerInit(e,{onSelectHandler:function(){var t=e.find(".first-date-range .date-range-input").val().split(" - ").map(function(t){return t.trim()});2===t.length&&a.updateAllCampaignsTable({startDate:t[0],endDate:t[1],container:e})}}),a.setupSortableTableEventListeners(e),a.populateFilterSelect(e))},populateFilterSelect:function(t){var t=t.find(".js-campaigns-table"),a=l(".filter-campaign select"),n=(l(a).find("option:not(:first)").remove(),[]);l(t).find("tr .js-module-name").each(function(){var e=l(this).attr("data-module-id"),t=l(this).text().trim();e&&!n.some(function(t){return t.value===e})&&n.push({value:e,label:t})}),n.sort(),l.each(n,function(t,e){l(a).append(l("<option>",{value:e.value,text:e.label}))})},setupSortableTableEventListeners:function(e){var r=this,o=(e.find("th:not(.no-sort)").on("click",function(t){r.sortableTable(l(t.currentTarget),e)}),l(".js-campaigns-table")),t=l(".js-campaign-search"),a=l(".js-filter-module"),n=l(".js-bulk-action"),i=l(".js-pagination");o.find('thead th:first-child input[type="checkbox"]').on("change",function(){var t=l(this).prop("checked");o.find('tbody tr:not(.is-hidden) input[type="checkbox"]:not(.toggle-switch-checkbox)').prop("checked",t)}),o.on("change",'.js-status input[type="checkbox"]',function(){var t=l(this),e=t.closest("tr"),e=_defineProperty({},e.attr("data-module-id"),{campaign_key:e.attr("data-campaign-key"),campaigns:[{campaign_id:e.attr("data-campaign-id"),status:t.prop("checked")?"active":"inactive"}]});r.updateCampaignStatus(e,t,[t],!0)}),n.on("click",function(t){t.preventDefault();var a,n=l(this).closest(".bulk-action").find("select").val();n?(t=o.find('tbody tr:not(.is-hidden) input[type="checkbox"]:not(.toggle-switch-checkbox):checked')).length?(a={},t.each(function(){var t=l(this).closest("tr"),e=t.attr("data-module-id");a[e]||(a[e]={campaign_key:t.attr("data-campaign-key"),campaigns:[]}),a[e].campaigns.push({campaign_id:t.attr("data-campaign-id"),status:n})}),r.updateCampaignStatus(a,l(this),t)):alert("Please select campaigns."):alert("Please select an action.")}),t.on("input",r.debounce(function(){r.filterTableTable(a.val(),o,l(this).val())},300)),a.on("change",function(){r.filterTableTable(l(this).val(),o,""),t.val("")}),i.on("click",".pagination-button",function(t){t.preventDefault();var t=parseInt(l(this).attr("data-current-page")),e=parseInt(l(this).attr("data-page"));isNaN(e)||e===t||(r.paginateRows(t=e,o.find("tbody tr")),r.updatePaginationButtons(t))})},sortableTable:function(t,e){var n=t.index(),r=t.data("sort"),o=t.hasClass("asc")?"desc":"asc",t=(e.find("th").removeClass("asc desc"),t.addClass(o),e.find("tbody")),e=t.find("tr").toArray();e.sort(function(t,e){var a,t=l(t).find("td").eq(n).text(),e=l(e).find("td").eq(n).text(),t="int"===r?(a=parseInt(t.replace(/[^0-9]/g,""),10),parseInt(e.replace(/[^0-9]/g,""),10)):"float"===r?(a=parseFloat(t.replace(/[^0-9.]/g,"")),parseFloat(e.replace(/[^0-9.]/g,""))):(a=t,e);return"asc"==o?a<t?-1:t<a?1:0:t<a?-1:a<t?1:0}),t.append(e)},filterTableTable:function(r,t){var o,e,a,n,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"";t.length&&(o=0,(e=t.find("tbody tr")).each(function(){var t=l(this),e=t.attr("data-module-id"),a=t.find(".js-campaign-name").text().toLowerCase(),n=t.find(".js-module-name").text().toLowerCase(),e=!r||e===r,a=!i||a.includes(i)||n.includes(i);e&&a?(t.show().removeClass("filtered-out is-hidden"),o++):t.hide().addClass("filtered-out")}),a=o,n=parseInt(t.closest(".merchant-page-campaigns").find(".js-pagination").attr("data-rows-per-page")),n=Math.max(1,Math.ceil(a/n)),this.paginateRows(1,e),this.updateNoResults(0===o,t),this.updatePaginationButtons(1,n,a))},paginateRows:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1,e=1<arguments.length?arguments[1]:void 0,a=l(".js-pagination"),a=parseInt(a.attr("data-rows-per-page")),n=(t-1)*a,r=n+a;e.hide().addClass("is-hidden"),e.filter(":not(.filtered-out)").each(function(t){n<=t&&t<r&&l(this).show().removeClass("is-hidden")})},updateNoResults:function(t,e){var a=e.next(".no-results-message");t?(a.length||(a=l('<div class="no-results-message" style="">No matching campaigns found</div>'),e.after(a)),a.show()):a.length&&a.hide()},updatePaginationButtons:function(t,e,a){var n=l(".js-pagination"),r=(n.attr("data-current-page",t),e&&n.attr("data-total-pages",e),a&&n.attr("data-total-rows",a),e=parseInt(n.attr("data-total-pages")),"");if(1<t&&(r+='\n\t\t          <button class="pagination-button prev-page" data-page="'.concat(t-1,'">\n\t\t            <svg xmlns="http://www.w3.org/2000/svg" width="7" height="12" viewBox="0 0 7 12" fill="#565865">\n\t\t              <path d="M5.16797 11.3301L0.521484 6.48047C0.394531 6.32812 0.34375 6.17578 0.34375 6.02344C0.34375 5.89648 0.394531 5.74414 0.496094 5.61719L5.14258 0.767578C5.37109 0.513672 5.77734 0.513672 6.00586 0.742188C6.25977 0.970703 6.25977 1.35156 6.03125 1.60547L1.79102 6.02344L6.05664 10.4922C6.28516 10.7207 6.28516 11.127 6.03125 11.3555C5.80273 11.584 5.39648 11.584 5.16797 11.3301Z"/>\n\t\t            </svg>\n\t\t          </button>\n\t\t\t\t')),1<e)for(var o=1;o<=e;o++)r+='\n          \t\t\t<button class="pagination-button'.concat(o===t?" pagination-active":"",'" data-page="').concat(o,'">').concat(o,"</button>\n\t\t\t\t");t<e&&(r+='\n\t\t          <button class="pagination-button next-page" data-page="'.concat(t+1,'">\n\t\t            <svg xmlns="http://www.w3.org/2000/svg" width="7" height="12" viewBox="0 0 7 12" fill="#565865">\n\t\t              <path d="M1.80664 0.742188L6.45312 5.5918C6.55469 5.71875 6.63086 5.87109 6.63086 6.02344C6.63086 6.17578 6.55469 6.32812 6.45312 6.42969L1.80664 11.2793C1.57812 11.5332 1.17188 11.5332 0.943359 11.3047C0.689453 11.0762 0.689453 10.6953 0.917969 10.4414L5.18359 5.99805L0.917969 1.58008C0.689453 1.35156 0.689453 0.945312 0.943359 0.716797C1.17188 0.488281 1.57812 0.488281 1.80664 0.742188Z"/>\n\t\t            </svg>\n\t\t          </button>\n\t\t\t\t')),n.html(r);var i,s,c=l(".js-pagination-results");1<e?(i=parseInt(n.attr("data-total-rows")),n=(s=(t-1)*(n=parseInt(n.attr("data-rows-per-page"))))+n,c.find(".pagination-start-row").text(s||1),c.find(".pagination-end-row").text(i<n?i:n),c.find(".pagination-total-rows").text(a),c.show()):c.hide()},updateCampaignStatus:(n=_asyncToGenerator(_regeneratorRuntime().mark(function t(e,a,n){var r,o,i,s,c=arguments;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=3<c.length&&void 0!==c[3]&&c[3],o=this,i=a.closest(".all-campaigns-table").find(".js-campaigns-table"),s='<span class="spinner is-active"></span>',a.prop("disabled",!0),r?(a.closest(".merchant-toggle-switch").append(s),a.closest("tr").css("opacity",".7")):(i.css("opacity",".7"),a.closest(".bulk-action").append(s)),t.prev=6,t.next=9,this.sendAjaxRequest({action:"merchant_update_campaign_status",nonce:o.NONCE,campaign_data:e},"","POST").then(function(t){t.success&&(r||null!=n&&n.each(function(){l(this).closest("tr").find('.js-status input[type="checkbox"]').prop("checked","active"===t.data.status)}),l(document).trigger("merchant_campaign_status_updated",[t.data,a,n,r,e])),l(".spinner").remove(),a.prop("disabled",!1),(r?a.closest("tr"):(null!=n&&n.each(function(){i.find('thead th:first-child input[type="checkbox"]').prop("checked",!1),l(this).prop("checked",!1)}),i)).css("opacity","")});case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(6),console.error("Error fetching campaign status data:",t.t0);case 14:case"end":return t.stop()}},t,this,[[6,11]])})),function(t,e,a){return n.apply(this,arguments)}),debounce:function(r,o){var i;return function(){for(var t=this,e=arguments.length,a=new Array(e),n=0;n<e;n++)a[n]=arguments[n];clearTimeout(i),i=setTimeout(function(){return r.apply(t,a)},o)}}};l(document).ready(function(){d.initOverviewCards(),d.widgetChartRender(),d.revenueChartRender(),d.avgOrderValChartRender(),d.impressionsChartRender(),d.initTopCampaignsTable(),d.initAllCampaignsTable()})})(jQuery);
  • merchant/trunk/assets/js/admin/merchant-preview.js

    r3198417 r3287369  
    311311      }
    312312      if (hasManipulators(manipulators.classes)) {
    313         for (var _key10 in manipulators.classes) {
    314           triggerChangeOnInput($('[name="merchant[' + manipulators.classes[_key10].setting + ']"]'));
     313        for (var _key0 in manipulators.classes) {
     314          triggerChangeOnInput($('[name="merchant[' + manipulators.classes[_key0].setting + ']"]'));
    315315        }
    316316      }
    317317      if (hasManipulators(manipulators.icons)) {
    318         for (var _key11 in manipulators.icons) {
    319           triggerChangeOnInput($('[name="merchant[' + manipulators.icons[_key11].setting + ']"]'));
     318        for (var _key1 in manipulators.icons) {
     319          triggerChangeOnInput($('[name="merchant[' + manipulators.icons[_key1].setting + ']"]'));
    320320        }
    321321      }
    322322      if (hasManipulators(manipulators.svg_icons)) {
    323         for (var _key12 in manipulators.svg_icons) {
    324           triggerChangeOnInput($('[name="merchant[' + manipulators.svg_icons[_key12].setting + ']"]'));
     323        for (var _key10 in manipulators.svg_icons) {
     324          triggerChangeOnInput($('[name="merchant[' + manipulators.svg_icons[_key10].setting + ']"]'));
    325325        }
    326326      }
    327327      if (hasManipulators(manipulators.repeater_content)) {
    328         for (var _key13 in manipulators.repeater_content) {
    329           triggerChangeOnInput($('[name="merchant[' + manipulators.repeater_content[_key13].setting + ']"]'));
     328        for (var _key11 in manipulators.repeater_content) {
     329          triggerChangeOnInput($('[name="merchant[' + manipulators.repeater_content[_key11].setting + ']"]'));
    330330        }
    331331      }
    332332      if (hasManipulators(manipulators.flexible_content)) {
    333         for (var _key14 in manipulators.flexible_content) {
    334           var field = $('.merchant-flexible-content-control[data-id=' + manipulators.flexible_content[_key14].setting + ']');
     333        for (var _key12 in manipulators.flexible_content) {
     334          var field = $('.merchant-flexible-content-control[data-id=' + manipulators.flexible_content[_key12].setting + ']');
    335335          triggerChangeOnInput(field.find('input'));
    336336          field.find('.customize-control-flexible-content-delete').on('click', function () {
     
    343343      }
    344344      if (hasManipulators(manipulators.update)) {
    345         for (var _key15 in manipulators.update) {
    346           triggerChangeOnInput($('[name="merchant[' + manipulators.update[_key15].setting + ']"]'));
     345        for (var _key13 in manipulators.update) {
     346          triggerChangeOnInput($('[name="merchant[' + manipulators.update[_key13].setting + ']"]'));
    347347        }
    348348      }
  • merchant/trunk/inc/helpers.php

    r3248005 r3287369  
    708708        $current_user = $is_logged_in ? wp_get_current_user() : null;
    709709        $customer_id  = is_object( $current_user ) && isset( $current_user->ID ) ? (int) $current_user->ID : 0;
     710        $user_role    = is_object( $current_user ) && isset( $current_user->roles ) ? $current_user->roles[0] : '';
    710711
    711712        $condition = $args['user_condition'] ?? 'all';
     
    713714        $is_exclusion_enabled = $args['user_exclusion_enabled'] ?? false;
    714715        $excluded_customers   = array_map( 'intval', $args['exclude_users'] ?? array() );
     716        $excluded_roles       = $args['exclude_roles'] ?? array();
    715717
    716718        switch ( $condition ) {
    717719            case 'all':
    718720            case '':
    719                 if ( $is_exclusion_enabled && in_array( $customer_id, $excluded_customers, true ) ) {
    720                     return false;
     721                if ( $is_exclusion_enabled ) {
     722                    if ( in_array( $customer_id, $excluded_customers, true ) ) {
     723                        return false;
     724                    }
     725
     726                    if ( $condition === 'all' && in_array( $user_role, $excluded_roles, true ) ) {
     727                        return false;
     728                    }
    721729                }
     730
    722731                return true;
    723732
     
    731740
    732741                $allowed_roles = $args['user_condition_roles'] ?? array();
    733                 $user_role     = is_object( $current_user ) && isset( $current_user->roles ) ? $current_user->roles[0] : '';
    734 
    735742                return in_array( $user_role, $allowed_roles, true );
    736743
     
    977984}
    978985
     986if ( ! function_exists( 'merchant_get_active_modules' ) ) {
     987    /**
     988     * Get the active modules.
     989     *
     990     * @return array
     991     */
     992    function merchant_get_active_modules() {
     993        $modules = array_keys( merchant_get_modules_data() );
     994
     995        return array_values( array_filter( $modules, static function ( $module_id ) {
     996            return Merchant_Modules::is_module_active( $module_id );
     997        } ) );
     998    }
     999}
     1000
    9791001if ( ! function_exists( 'merchant_get_campaign_data' ) ) {
    9801002    /**
  • merchant/trunk/inc/modules/buy-x-get-y/admin/options.php

    r3259457 r3287369  
    291291                                        'operator' => 'in',
    292292                                        'value'    => array( 'all', 'roles' ),
     293                                    ),
     294                                ),
     295                            ),
     296                        ),
     297
     298                        array(
     299                            'id'         => 'exclude_roles',
     300                            'type'       => 'select_ajax',
     301                            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     302                            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     303                            'source'     => 'options',
     304                            'multiple'   => true,
     305                            'classes'    => array( 'flex-grow' ),
     306                            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     307                            'conditions' => array(
     308                                'relation' => 'AND',
     309                                'terms'    => array(
     310                                    array(
     311                                        'field'    => 'user_condition',
     312                                        'operator' => 'in',
     313                                        'value'    => array( 'all' ),
     314                                    ),
     315                                    array(
     316                                        'field'    => 'user_exclusion_enabled',
     317                                        'operator' => '===',
     318                                        'value'    => true,
    293319                                    ),
    294320                                ),
  • merchant/trunk/inc/modules/complementary-products/admin/options.php

    r3269935 r3287369  
    318318
    319319                        array(
     320                            'id'         => 'exclude_roles',
     321                            'type'       => 'select_ajax',
     322                            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     323                            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     324                            'source'     => 'options',
     325                            'multiple'   => true,
     326                            'classes'    => array( 'flex-grow' ),
     327                            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     328                            'conditions' => array(
     329                                'relation' => 'AND',
     330                                'terms'    => array(
     331                                    array(
     332                                        'field'    => 'user_condition',
     333                                        'operator' => 'in',
     334                                        'value'    => array( 'all' ),
     335                                    ),
     336                                    array(
     337                                        'field'    => 'user_exclusion_enabled',
     338                                        'operator' => '===',
     339                                        'value'    => true,
     340                                    ),
     341                                ),
     342                            ),
     343                        ),
     344
     345                        array(
    320346                            'id'         => 'exclude_users',
    321347                            'type'       => 'select_ajax',
  • merchant/trunk/inc/modules/free-gifts/admin/options.php

    r3269935 r3287369  
    262262
    263263                        array(
     264                            'id'         => 'exclude_roles',
     265                            'type'       => 'select_ajax',
     266                            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     267                            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     268                            'source'     => 'options',
     269                            'multiple'   => true,
     270                            'classes'    => array( 'flex-grow' ),
     271                            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     272                            'conditions' => array(
     273                                'relation' => 'AND',
     274                                'terms'    => array(
     275                                    array(
     276                                        'field'    => 'user_condition',
     277                                        'operator' => 'in',
     278                                        'value'    => array( 'all' ),
     279                                    ),
     280                                    array(
     281                                        'field'    => 'user_exclusion_enabled',
     282                                        'operator' => '===',
     283                                        'value'    => true,
     284                                    ),
     285                                ),
     286                            ),
     287                        ),
     288
     289                        array(
    264290                            'id'         => 'exclude_users',
    265291                            'type'       => 'select_ajax',
  • merchant/trunk/inc/modules/free-shipping-progress-bar/admin/options.php

    r3217868 r3287369  
    143143                        'operator' => 'in',
    144144                        'value'    => array( 'all', 'roles' ),
     145                    ),
     146                ),
     147            ),
     148        ),
     149
     150        array(
     151            'id'         => 'exclude_roles',
     152            'type'       => 'select_ajax',
     153            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     154            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     155            'source'     => 'options',
     156            'multiple'   => true,
     157            'classes'    => array( 'flex-grow' ),
     158            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     159            'conditions' => array(
     160                'relation' => 'AND',
     161                'terms'    => array(
     162                    array(
     163                        'field'    => 'user_condition',
     164                        'operator' => 'in',
     165                        'value'    => array( 'all' ),
     166                    ),
     167                    array(
     168                        'field'    => 'user_exclusion_enabled',
     169                        'operator' => '===',
     170                        'value'    => true,
    145171                    ),
    146172                ),
  • merchant/trunk/inc/modules/frequently-bought-together/admin/options.php

    r3269935 r3287369  
    237237                            'type'    => 'checkbox',
    238238                            'label'   => __( 'Offer products as optional', 'merchant' ),
    239                             'desc'    => __( 'Offer the products as an optional add-on, giving customers customize their purchase', 'merchant' ),
     239                            'desc'    => __( 'Offer the products using checkboxes, so shoppers can choose what to buy', 'merchant' ),
    240240                            'default' => 1,
    241241                        ),
     
    338338                            'type'       => 'switcher',
    339339                            'title'      => esc_html__( 'Exclusion List', 'merchant' ),
    340                             'desc'       => esc_html__( 'Select the users that will not show the offer.', 'merchant' ),
     340                            'desc'       => esc_html__( 'Exclude specific users from seeing the offer', 'merchant' ),
    341341                            'default'    => 0,
    342342                            'conditions' => array(
     
    347347                                        'operator' => 'in',
    348348                                        'value'    => array( 'all', 'roles' ),
     349                                    ),
     350                                ),
     351                            ),
     352                        ),
     353
     354                        array(
     355                            'id'         => 'exclude_roles',
     356                            'type'       => 'select_ajax',
     357                            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     358                            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     359                            'source'     => 'options',
     360                            'multiple'   => true,
     361                            'classes'    => array( 'flex-grow' ),
     362                            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     363                            'conditions' => array(
     364                                'relation' => 'AND',
     365                                'terms'    => array(
     366                                    array(
     367                                        'field'    => 'user_condition',
     368                                        'operator' => 'in',
     369                                        'value'    => array( 'all' ),
     370                                    ),
     371                                    array(
     372                                        'field'    => 'user_exclusion_enabled',
     373                                        'operator' => '===',
     374                                        'value'    => true,
    349375                                    ),
    350376                                ),
  • merchant/trunk/inc/modules/pre-orders/admin/options.php

    r3232601 r3287369  
    318318
    319319                            array(
     320                                'id'         => 'exclude_roles',
     321                                'type'       => 'select_ajax',
     322                                'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     323                                'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     324                                'source'     => 'options',
     325                                'multiple'   => true,
     326                                'classes'    => array( 'flex-grow' ),
     327                                'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     328                                'conditions' => array(
     329                                    'relation' => 'AND',
     330                                    'terms'    => array(
     331                                        array(
     332                                            'field'    => 'user_condition',
     333                                            'operator' => 'in',
     334                                            'value'    => array( 'all' ),
     335                                        ),
     336                                        array(
     337                                            'field'    => 'user_exclusion_enabled',
     338                                            'operator' => '===',
     339                                            'value'    => true,
     340                                        ),
     341                                    ),
     342                                ),
     343                            ),
     344
     345                            array(
    320346                                'id'         => 'exclude_users',
    321347                                'type'       => 'select_ajax',
  • merchant/trunk/inc/modules/pre-orders/class-pre-orders-main-functionality.php

    r3259457 r3287369  
    13061306        if ( ! $this->is_pre_order( $product_id ) ) {
    13071307            $product = wc_get_product( $product_id );
    1308             if ( $product->is_type( 'variation' ) ) {
     1308            if ( $product && $product->is_type( 'variation' ) ) {
    13091309                $product_id = $product->get_parent_id();
    13101310
  • merchant/trunk/inc/modules/spending-goal/admin/options.php

    r3248005 r3287369  
    233233
    234234        array(
     235            'id'         => 'exclude_roles',
     236            'type'       => 'select_ajax',
     237            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     238            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     239            'source'     => 'options',
     240            'multiple'   => true,
     241            'classes'    => array( 'flex-grow' ),
     242            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     243            'conditions' => array(
     244                'relation' => 'AND',
     245                'terms'    => array(
     246                    array(
     247                        'field'    => 'user_condition',
     248                        'operator' => 'in',
     249                        'value'    => array( 'all' ),
     250                    ),
     251                    array(
     252                        'field'    => 'user_exclusion_enabled',
     253                        'operator' => '===',
     254                        'value'    => true,
     255                    ),
     256                ),
     257            ),
     258        ),
     259
     260        array(
    235261            'id'      => 'enable_auto_slide_in',
    236262            'type'    => 'switcher',
  • merchant/trunk/inc/modules/storewide-sale/admin/options.php

    r3232601 r3287369  
    259259                                        'operator' => 'in',
    260260                                        'value'    => array( 'all', 'roles' ),
     261                                    ),
     262                                ),
     263                            ),
     264                        ),
     265
     266                        array(
     267                            'id'         => 'exclude_roles',
     268                            'type'       => 'select_ajax',
     269                            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     270                            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     271                            'source'     => 'options',
     272                            'multiple'   => true,
     273                            'classes'    => array( 'flex-grow' ),
     274                            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     275                            'conditions' => array(
     276                                'relation' => 'AND',
     277                                'terms'    => array(
     278                                    array(
     279                                        'field'    => 'user_condition',
     280                                        'operator' => 'in',
     281                                        'value'    => array( 'all' ),
     282                                    ),
     283                                    array(
     284                                        'field'    => 'user_exclusion_enabled',
     285                                        'operator' => '===',
     286                                        'value'    => true,
    261287                                    ),
    262288                                ),
  • merchant/trunk/inc/modules/volume-discounts/admin/options.php

    r3269935 r3287369  
    331331                                        'operator' => 'in',
    332332                                        'value'    => array( 'all', 'roles' ),
     333                                    ),
     334                                ),
     335                            ),
     336                        ),
     337
     338                        array(
     339                            'id'         => 'exclude_roles',
     340                            'type'       => 'select_ajax',
     341                            'title'      => esc_html__( 'Exclude Roles', 'merchant' ),
     342                            'desc'       => esc_html__( 'This will exclude the offer for users with these roles.', 'merchant' ),
     343                            'source'     => 'options',
     344                            'multiple'   => true,
     345                            'classes'    => array( 'flex-grow' ),
     346                            'options'    => Merchant_Admin_Options::get_user_roles_select2_choices(),
     347                            'conditions' => array(
     348                                'relation' => 'AND',
     349                                'terms'    => array(
     350                                    array(
     351                                        'field'    => 'user_condition',
     352                                        'operator' => 'in',
     353                                        'value'    => array( 'all' ),
     354                                    ),
     355                                    array(
     356                                        'field'    => 'user_exclusion_enabled',
     357                                        'operator' => '===',
     358                                        'value'    => true,
    333359                                    ),
    334360                                ),
  • merchant/trunk/languages/merchant.pot

    r3269935 r3287369  
    99"Language-Team: aThemes <[email protected]>\n"
    1010"Last-Translator: aThemes <[email protected]>\n"
    11 "POT-Creation-Date: 2025-04-09 17:29+0000\n"
     11"POT-Creation-Date: 2025-05-05 04:03+0000\n"
    1212"Report-Msgid-Bugs-To: https://athemes.com/contact/\n"
    1313"X-Poedit-Basepath: ..\n"
     
    1818"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    1919
    20 #: admin/class-merchant-admin-loader.php:135, admin/classes/class-merchant-admin-menu.php:281, admin/classes/class-merchant-admin-menu.php:282, admin/classes/class-merchant-admin-menu.php:363, admin/classes/class-merchant-admin-menu.php:366, inc/modules/address-autocomplete/admin/options.php:27, inc/modules/agree-to-terms-checkbox/admin/options.php:28, inc/modules/auto-external-links/admin/options.php:16, inc/modules/buy-now/admin/options.php:14, inc/modules/cart-count-favicon/admin/options.php:16, inc/modules/cart-reserved-timer/admin/options.php:30, inc/modules/checkout/admin/options.php:27, inc/modules/clear-cart/admin/options.php:16, inc/modules/cookie-banner/admin/options.php:14, inc/modules/countdown-timer/admin/options.php:14, inc/modules/inactive-tab-message/admin/options.php:16, inc/modules/login-popup/admin/options.php:15, inc/modules/payment-logos/admin/options.php:33, inc/modules/product-audio/admin/options.php:15, inc/modules/product-brand-image/admin/options.php:15, inc/modules/product-labels/admin/options.php:47, inc/modules/product-navigation-links/admin/options.php:16, inc/modules/product-swatches/admin/options.php:17, inc/modules/product-video/admin/options.php:15, inc/modules/quick-social-links/admin/options.php:16, inc/modules/quick-view/admin/options.php:17, inc/modules/real-time-search/admin/options.php:14, inc/modules/reasons-to-buy/admin/options.php:14, inc/modules/recently-viewed-products/admin/options.php:15, inc/modules/size-chart/admin/options.php:15, inc/modules/spending-goal/admin/options.php:15, inc/modules/sticky-add-to-cart/admin/options.php:15, inc/modules/stock-scarcity/admin/options.php:16, inc/modules/trust-badges/admin/options.php:45
     20#: admin/class-merchant-admin-loader.php:144, admin/classes/class-merchant-admin-menu.php:281, admin/classes/class-merchant-admin-menu.php:282, admin/classes/class-merchant-admin-menu.php:363, admin/classes/class-merchant-admin-menu.php:366, inc/modules/address-autocomplete/admin/options.php:27, inc/modules/agree-to-terms-checkbox/admin/options.php:28, inc/modules/auto-external-links/admin/options.php:16, inc/modules/buy-now/admin/options.php:14, inc/modules/cart-count-favicon/admin/options.php:16, inc/modules/cart-reserved-timer/admin/options.php:30, inc/modules/checkout/admin/options.php:27, inc/modules/clear-cart/admin/options.php:16, inc/modules/cookie-banner/admin/options.php:14, inc/modules/countdown-timer/admin/options.php:14, inc/modules/inactive-tab-message/admin/options.php:16, inc/modules/login-popup/admin/options.php:15, inc/modules/payment-logos/admin/options.php:33, inc/modules/product-audio/admin/options.php:15, inc/modules/product-brand-image/admin/options.php:15, inc/modules/product-labels/admin/options.php:47, inc/modules/product-navigation-links/admin/options.php:16, inc/modules/product-swatches/admin/options.php:17, inc/modules/product-video/admin/options.php:15, inc/modules/quick-social-links/admin/options.php:16, inc/modules/quick-view/admin/options.php:17, inc/modules/real-time-search/admin/options.php:14, inc/modules/reasons-to-buy/admin/options.php:14, inc/modules/recently-viewed-products/admin/options.php:15, inc/modules/size-chart/admin/options.php:15, inc/modules/spending-goal/admin/options.php:15, inc/modules/sticky-add-to-cart/admin/options.php:15, inc/modules/stock-scarcity/admin/options.php:16, inc/modules/trust-badges/admin/options.php:45
    2121msgid "Settings"
    2222msgstr ""
     
    306306msgstr ""
    307307
    308 #: admin/classes/class-merchant-admin-modules.php:46
     308#: admin/classes/class-merchant-admin-modules.php:284
     309msgid "Boost Revenue"
     310msgstr ""
     311
     312#: admin/classes/class-merchant-admin-modules.php:289
     313msgid "Convert More"
     314msgstr ""
     315
     316#: admin/classes/class-merchant-admin-modules.php:294
     317msgid "Reduce Cart Abandonment"
     318msgstr ""
     319
     320#: admin/classes/class-merchant-admin-modules.php:299
     321msgid "Build Trust"
     322msgstr ""
     323
     324#: admin/classes/class-merchant-admin-modules.php:304
     325msgid "Improve Experience"
     326msgstr ""
     327
     328#: admin/classes/class-merchant-admin-modules.php:309
     329msgid "Protect Store"
     330msgstr ""
     331
     332#: admin/classes/class-merchant-admin-modules.php:422
    309333msgid "Pre-Orders"
    310334msgstr ""
    311335
    312 #: admin/classes/class-merchant-admin-modules.php:47
     336#: admin/classes/class-merchant-admin-modules.php:423
    313337msgid "Allow visitors to pre-order products that are either out of stock or not yet released"
    314338msgstr ""
    315339
    316 #: admin/classes/class-merchant-admin-modules.php:54
     340#: admin/classes/class-merchant-admin-modules.php:427
    317341msgid "Waitlist"
    318342msgstr ""
    319343
    320 #: admin/classes/class-merchant-admin-modules.php:55
     344#: admin/classes/class-merchant-admin-modules.php:428
    321345msgid "Build waitlists for sold-out items and auto-notify potential customers when items are restocked"
    322346msgstr ""
    323347
    324 #: admin/classes/class-merchant-admin-modules.php:62
     348#: admin/classes/class-merchant-admin-modules.php:432
    325349msgid "Product Bundles"
    326350msgstr ""
    327351
    328 #: admin/classes/class-merchant-admin-modules.php:63
     352#: admin/classes/class-merchant-admin-modules.php:433
    329353msgid "Create bundles of products to be sold together and boost your average order value"
    330354msgstr ""
    331355
    332 #: admin/classes/class-merchant-admin-modules.php:70, templates/modules/frequently-bought-together/single-product.php:36, inc/modules/frequently-bought-together/admin/options.php:415, inc/modules/quick-view/admin/options.php:321, templates/modules/added-to-cart-popup/admin/layout-1.php:128, templates/modules/added-to-cart-popup/admin/layout-2.php:114, templates/modules/added-to-cart-popup/admin/layout-3.php:127
     356#: admin/classes/class-merchant-admin-modules.php:437, templates/modules/frequently-bought-together/single-product.php:36, inc/modules/frequently-bought-together/admin/options.php:441, inc/modules/quick-view/admin/options.php:321, templates/modules/added-to-cart-popup/admin/layout-1.php:128, templates/modules/added-to-cart-popup/admin/layout-2.php:114, templates/modules/added-to-cart-popup/admin/layout-3.php:127
    333357msgid "Frequently Bought Together"
    334358msgstr ""
    335359
    336 #: admin/classes/class-merchant-admin-modules.php:71
     360#: admin/classes/class-merchant-admin-modules.php:438
    337361msgid "Create bundles of related products that customers can add to their cart with just one click"
    338362msgstr ""
    339363
    340 #: admin/classes/class-merchant-admin-modules.php:78
     364#: admin/classes/class-merchant-admin-modules.php:442
    341365msgid "Buy X, Get Y"
    342366msgstr ""
    343367
    344 #: admin/classes/class-merchant-admin-modules.php:79
     368#: admin/classes/class-merchant-admin-modules.php:443
    345369msgid "Create offers where purchasing a specific quantity of Product X triggers a discount on Product Y"
    346370msgstr ""
    347371
    348 #: admin/classes/class-merchant-admin-modules.php:86
     372#: admin/classes/class-merchant-admin-modules.php:447
    349373msgid "Complementary Products"
    350374msgstr ""
    351375
    352 #: admin/classes/class-merchant-admin-modules.php:87
     376#: admin/classes/class-merchant-admin-modules.php:448
    353377msgid "Offer complementary products to help increase average order value"
    354378msgstr ""
    355379
    356 #: admin/classes/class-merchant-admin-modules.php:94, inc/modules/quick-view/admin/options.php:319
     380#: admin/classes/class-merchant-admin-modules.php:452, inc/modules/quick-view/admin/options.php:319
    357381msgid "Bulk Discounts"
    358382msgstr ""
    359383
    360 #: admin/classes/class-merchant-admin-modules.php:95
     384#: admin/classes/class-merchant-admin-modules.php:453
    361385msgid "Offer discounts on larger quantity purchases to drive up average order value"
    362386msgstr ""
    363387
    364 #: admin/classes/class-merchant-admin-modules.php:102
     388#: admin/classes/class-merchant-admin-modules.php:457
    365389msgid "Storewide Sale"
    366390msgstr ""
    367391
    368 #: admin/classes/class-merchant-admin-modules.php:103
     392#: admin/classes/class-merchant-admin-modules.php:458
    369393msgid "Create discount campaigns for all your products, specific categories, or specific products"
    370394msgstr ""
    371395
    372 #: admin/classes/class-merchant-admin-modules.php:110
     396#: admin/classes/class-merchant-admin-modules.php:462
    373397msgid "Spending Discount Goal"
    374398msgstr ""
    375399
    376 #: admin/classes/class-merchant-admin-modules.php:111
     400#: admin/classes/class-merchant-admin-modules.php:463
    377401msgid "Motivate higher order values by offering customers discounts for reaching spending goals"
    378402msgstr ""
    379403
    380 #: admin/classes/class-merchant-admin-modules.php:118
     404#: admin/classes/class-merchant-admin-modules.php:467
    381405msgid "Free Gifts"
    382406msgstr ""
    383407
    384 #: admin/classes/class-merchant-admin-modules.php:119
     408#: admin/classes/class-merchant-admin-modules.php:468
    385409msgid "Reward shoppers with a gift if they hit a specified spending target or apply a coupon"
    386410msgstr ""
    387411
    388 #: admin/classes/class-merchant-admin-modules.php:126
     412#: admin/classes/class-merchant-admin-modules.php:472
    389413msgid "Free Shipping Bar"
    390414msgstr ""
    391415
    392 #: admin/classes/class-merchant-admin-modules.php:127
     416#: admin/classes/class-merchant-admin-modules.php:473
    393417msgid "Encourage customers to spend more by displaying the amount left needed for free shipping"
    394418msgstr ""
    395419
    396 #: admin/classes/class-merchant-admin-modules.php:135, inc/modules/product-labels/class-product-labels.php:170
     420#: admin/classes/class-merchant-admin-modules.php:477, inc/modules/product-labels/class-product-labels.php:170
    397421msgid "Product Labels"
    398422msgstr ""
    399423
    400 #: admin/classes/class-merchant-admin-modules.php:136
     424#: admin/classes/class-merchant-admin-modules.php:478
    401425msgid "Create customizable product labels with display conditions and color settings"
    402426msgstr ""
    403427
    404 #: admin/classes/class-merchant-admin-modules.php:143, inc/modules/quick-view/class-quick-view.php:61
     428#: admin/classes/class-merchant-admin-modules.php:482, inc/modules/quick-view/class-quick-view.php:61
    405429msgid "Quick View"
    406430msgstr ""
    407431
    408 #: admin/classes/class-merchant-admin-modules.php:144
     432#: admin/classes/class-merchant-admin-modules.php:483
    409433msgid "Allows users to quickly view product details without leaving the current page"
    410434msgstr ""
    411435
    412 #: admin/classes/class-merchant-admin-modules.php:151
     436#: admin/classes/class-merchant-admin-modules.php:487
    413437msgid "Added To Cart Popup"
    414438msgstr ""
    415439
    416 #: admin/classes/class-merchant-admin-modules.php:152
     440#: admin/classes/class-merchant-admin-modules.php:488
    417441msgid "Display a dynamic popup with product suggestions when items are added to the cart"
    418442msgstr ""
    419443
    420 #: admin/classes/class-merchant-admin-modules.php:159
     444#: admin/classes/class-merchant-admin-modules.php:492
    421445msgid "Countdown Timer"
    422446msgstr ""
    423447
    424 #: admin/classes/class-merchant-admin-modules.php:160
     448#: admin/classes/class-merchant-admin-modules.php:493
    425449msgid "Create a sense of urgency by displaying a countdown timer on your discounted products"
    426450msgstr ""
    427451
    428 #: admin/classes/class-merchant-admin-modules.php:167
     452#: admin/classes/class-merchant-admin-modules.php:497
    429453msgid "Stock Scarcity"
    430454msgstr ""
    431455
    432 #: admin/classes/class-merchant-admin-modules.php:168
     456#: admin/classes/class-merchant-admin-modules.php:498
    433457msgid "Let visitors know that stock is running low on products they are looking at"
    434458msgstr ""
    435459
    436 #: admin/classes/class-merchant-admin-modules.php:175
     460#: admin/classes/class-merchant-admin-modules.php:502
    437461msgid "Checkouts"
    438462msgstr ""
    439463
    440 #: admin/classes/class-merchant-admin-modules.php:176
     464#: admin/classes/class-merchant-admin-modules.php:503
    441465msgid "Choose from three different checkout layouts: Shopify-style, Multi-step or One-page"
    442466msgstr ""
    443467
    444 #: admin/classes/class-merchant-admin-modules.php:183
     468#: admin/classes/class-merchant-admin-modules.php:507
    445469msgid "Sticky Add To Cart"
    446470msgstr ""
    447471
    448 #: admin/classes/class-merchant-admin-modules.php:184
     472#: admin/classes/class-merchant-admin-modules.php:508
    449473msgid "Display a sticky add to cart bar when visitors are scrolling on your product pages"
    450474msgstr ""
    451475
    452 #: admin/classes/class-merchant-admin-modules.php:191, inc/modules/added-to-cart-popup/admin/options.php:176, templates/modules/added-to-cart-popup/admin/layout-1.php:199, templates/modules/added-to-cart-popup/admin/layout-2.php:185, templates/modules/added-to-cart-popup/admin/layout-3.php:198, templates/modules/added-to-cart-popup/common/recently-viewed-products.php:17
     476#: admin/classes/class-merchant-admin-modules.php:512, inc/modules/added-to-cart-popup/admin/options.php:176, templates/modules/added-to-cart-popup/admin/layout-1.php:199, templates/modules/added-to-cart-popup/admin/layout-2.php:185, templates/modules/added-to-cart-popup/admin/layout-3.php:198, templates/modules/added-to-cart-popup/common/recently-viewed-products.php:17
    453477msgid "Recently Viewed Products"
    454478msgstr ""
    455479
    456 #: admin/classes/class-merchant-admin-modules.php:192
     480#: admin/classes/class-merchant-admin-modules.php:513
    457481msgid "Show recently viewed products on product pages and in the cart"
    458482msgstr ""
    459483
    460 #: admin/classes/class-merchant-admin-modules.php:201, inc/modules/buy-now/class-buy-now.php:50, inc/modules/buy-now/class-buy-now.php:348, inc/modules/buy-now/class-buy-now.php:429, inc/modules/quick-view/class-quick-view.php:674, inc/modules/buy-now/admin/options.php:22
     484#: admin/classes/class-merchant-admin-modules.php:517, inc/modules/buy-now/class-buy-now.php:50, inc/modules/buy-now/class-buy-now.php:348, inc/modules/buy-now/class-buy-now.php:429, inc/modules/quick-view/class-quick-view.php:674, inc/modules/buy-now/admin/options.php:22
    461485msgid "Buy Now"
    462486msgstr ""
    463487
    464 #: admin/classes/class-merchant-admin-modules.php:202
     488#: admin/classes/class-merchant-admin-modules.php:518
    465489msgid "Send your customers directly to checkout instead of the cart with Buy Now buttons"
    466490msgstr ""
    467491
    468 #: admin/classes/class-merchant-admin-modules.php:209
     492#: admin/classes/class-merchant-admin-modules.php:522
    469493msgid "Cart Count Favicon"
    470494msgstr ""
    471495
    472 #: admin/classes/class-merchant-admin-modules.php:210
     496#: admin/classes/class-merchant-admin-modules.php:523
    473497msgid "Make your browser tab stand out by showing the number of items in the cart on the favicon"
    474498msgstr ""
    475499
    476 #: admin/classes/class-merchant-admin-modules.php:217
     500#: admin/classes/class-merchant-admin-modules.php:527
    477501msgid "Inactive Tab Message"
    478502msgstr ""
    479503
    480 #: admin/classes/class-merchant-admin-modules.php:218
     504#: admin/classes/class-merchant-admin-modules.php:528
    481505msgid "Modify the browser tab's title when the visitor navigates away from your store"
    482506msgstr ""
    483507
    484 #: admin/classes/class-merchant-admin-modules.php:225
     508#: admin/classes/class-merchant-admin-modules.php:532
    485509msgid "Cart Reserved Timer"
    486510msgstr ""
    487511
    488 #: admin/classes/class-merchant-admin-modules.php:226
     512#: admin/classes/class-merchant-admin-modules.php:533
    489513msgid "Create urgency by letting visitors know that the products in cart are reserved for a limited time"
    490514msgstr ""
    491515
    492 #: admin/classes/class-merchant-admin-modules.php:233, inc/modules/clear-cart/admin/options.php:147, inc/modules/free-shipping-progress-bar/admin/options.php:651
     516#: admin/classes/class-merchant-admin-modules.php:537, inc/modules/clear-cart/admin/options.php:147, inc/modules/free-shipping-progress-bar/admin/options.php:677
    493517msgid "Side Cart"
    494518msgstr ""
    495519
    496 #: admin/classes/class-merchant-admin-modules.php:234
     520#: admin/classes/class-merchant-admin-modules.php:538
    497521msgid "Show a sliding cart whenever a customer adds a product to the cart"
    498522msgstr ""
    499523
    500 #: admin/classes/class-merchant-admin-modules.php:243, inc/modules/payment-logos/admin/options.php:16
     524#: admin/classes/class-merchant-admin-modules.php:542, inc/modules/payment-logos/admin/options.php:16
    501525msgid "Payment Logos"
    502526msgstr ""
    503527
    504 #: admin/classes/class-merchant-admin-modules.php:244
     528#: admin/classes/class-merchant-admin-modules.php:543
    505529msgid "Display the logos of the payment methods you accept on product pages"
    506530msgstr ""
    507531
    508 #: admin/classes/class-merchant-admin-modules.php:251, inc/modules/trust-badges/admin/options.php:16
     532#: admin/classes/class-merchant-admin-modules.php:547, inc/modules/trust-badges/admin/options.php:16
    509533msgid "Trust Badges"
    510534msgstr ""
    511535
    512 #: admin/classes/class-merchant-admin-modules.php:252
     536#: admin/classes/class-merchant-admin-modules.php:548
    513537msgid "Reassure customers by showcasing different badge-shaped store benefits"
    514538msgstr ""
    515539
    516 #: admin/classes/class-merchant-admin-modules.php:259
     540#: admin/classes/class-merchant-admin-modules.php:552
    517541msgid "Advanced Reviews"
    518542msgstr ""
    519543
    520 #: admin/classes/class-merchant-admin-modules.php:260
     544#: admin/classes/class-merchant-admin-modules.php:553
    521545msgid "Enhance your customer reviews with advanced features including photo uploads and more"
    522546msgstr ""
    523547
    524 #: admin/classes/class-merchant-admin-modules.php:267
     548#: admin/classes/class-merchant-admin-modules.php:557
    525549msgid "Recent Sales Notifications"
    526550msgstr ""
    527551
    528 #: admin/classes/class-merchant-admin-modules.php:268
     552#: admin/classes/class-merchant-admin-modules.php:558
    529553msgid "Build trust by displaying real-time notifications of purchases and other user activity on your store"
    530554msgstr ""
    531555
    532 #: admin/classes/class-merchant-admin-modules.php:275
     556#: admin/classes/class-merchant-admin-modules.php:562
    533557msgid "Reasons To Buy List"
    534558msgstr ""
    535559
    536 #: admin/classes/class-merchant-admin-modules.php:276
     560#: admin/classes/class-merchant-admin-modules.php:563
    537561msgid "Provide customers with a summary of the key features and benefits of your products"
    538562msgstr ""
    539563
    540 #: admin/classes/class-merchant-admin-modules.php:283
     564#: admin/classes/class-merchant-admin-modules.php:567
    541565msgid "Quick Social Links"
    542566msgstr ""
    543567
    544 #: admin/classes/class-merchant-admin-modules.php:284
     568#: admin/classes/class-merchant-admin-modules.php:568
    545569msgid "Display floating social media icons to make it easier for your customers to connect with you"
    546570msgstr ""
    547571
    548 #: admin/classes/class-merchant-admin-modules.php:291
     572#: admin/classes/class-merchant-admin-modules.php:572
    549573msgid "Product Brand Image"
    550574msgstr ""
    551575
    552 #: admin/classes/class-merchant-admin-modules.php:292
     576#: admin/classes/class-merchant-admin-modules.php:573
    553577msgid "Add brand images to products to instill confidence in potential buyers"
    554578msgstr ""
    555579
    556 #: admin/classes/class-merchant-admin-modules.php:301
     580#: admin/classes/class-merchant-admin-modules.php:577
    557581msgid "Animated Add to Cart"
    558582msgstr ""
    559583
    560 #: admin/classes/class-merchant-admin-modules.php:302
     584#: admin/classes/class-merchant-admin-modules.php:578
    561585msgid "Make your Add To Cart button stand out by adding an animation on mouse over or page load"
    562586msgstr ""
    563587
    564 #: admin/classes/class-merchant-admin-modules.php:309, inc/modules/add-to-cart-text/admin/class-add-to-cart-text-metabox.php:29
     588#: admin/classes/class-merchant-admin-modules.php:582, inc/modules/add-to-cart-text/admin/class-add-to-cart-text-metabox.php:29
    565589msgid "Add To Cart Text"
    566590msgstr ""
    567591
    568 #: admin/classes/class-merchant-admin-modules.php:310
     592#: admin/classes/class-merchant-admin-modules.php:583
    569593msgid "Change your store's 'Add to Cart' text for various product types, as well as individual products"
    570594msgstr ""
    571595
    572 #: admin/classes/class-merchant-admin-modules.php:317
     596#: admin/classes/class-merchant-admin-modules.php:587
    573597msgid "Auto External Links"
    574598msgstr ""
    575599
    576 #: admin/classes/class-merchant-admin-modules.php:318
     600#: admin/classes/class-merchant-admin-modules.php:588
    577601msgid "Keep users from navigating away from your store by opening external links in a new browser tab"
    578602msgstr ""
    579603
    580 #: admin/classes/class-merchant-admin-modules.php:325
     604#: admin/classes/class-merchant-admin-modules.php:592
    581605msgid "Real-Time Search"
    582606msgstr ""
    583607
    584 #: admin/classes/class-merchant-admin-modules.php:326
     608#: admin/classes/class-merchant-admin-modules.php:593
    585609msgid "Help visitors instantly find the products they're looking for by using predictive search"
    586610msgstr ""
    587611
    588 #: admin/classes/class-merchant-admin-modules.php:333
     612#: admin/classes/class-merchant-admin-modules.php:597
    589613msgid "Scroll to Top Button"
    590614msgstr ""
    591615
    592 #: admin/classes/class-merchant-admin-modules.php:334
     616#: admin/classes/class-merchant-admin-modules.php:598
    593617msgid "Help your customers get back easily to the top of the page with a single click"
    594618msgstr ""
    595619
    596 #: admin/classes/class-merchant-admin-modules.php:341
     620#: admin/classes/class-merchant-admin-modules.php:602
    597621msgid "Google Address Autocomplete"
    598622msgstr ""
    599623
    600 #: admin/classes/class-merchant-admin-modules.php:342
     624#: admin/classes/class-merchant-admin-modules.php:603
    601625msgid "Streamline your checkout process and reduce user errors by autocompleting the address fields"
    602626msgstr ""
    603627
    604 #: admin/classes/class-merchant-admin-modules.php:349, inc/modules/size-chart/class-size-chart.php:51, inc/modules/size-chart/admin/options.php:42
     628#: admin/classes/class-merchant-admin-modules.php:607, inc/modules/size-chart/class-size-chart.php:51, inc/modules/size-chart/admin/options.php:42
    605629msgid "Size Chart"
    606630msgstr ""
    607631
    608 #: admin/classes/class-merchant-admin-modules.php:350
     632#: admin/classes/class-merchant-admin-modules.php:608
    609633msgid "Reduce returns and increase sales by showing a size chart on specific products or all products"
    610634msgstr ""
    611635
    612 #: admin/classes/class-merchant-admin-modules.php:357
     636#: admin/classes/class-merchant-admin-modules.php:612
    613637msgid "Variation Swatches"
    614638msgstr ""
    615639
    616 #: admin/classes/class-merchant-admin-modules.php:358
     640#: admin/classes/class-merchant-admin-modules.php:613
    617641msgid "Display variable product options as customizable color/image icons, buttons, or dropdowns"
    618642msgstr ""
    619643
    620 #: admin/classes/class-merchant-admin-modules.php:365
     644#: admin/classes/class-merchant-admin-modules.php:617
    621645msgid "Wishlist"
    622646msgstr ""
    623647
    624 #: admin/classes/class-merchant-admin-modules.php:366
     648#: admin/classes/class-merchant-admin-modules.php:618
    625649msgid "Allow customers to easily save products they are interested in for later"
    626650msgstr ""
    627651
    628 #: admin/classes/class-merchant-admin-modules.php:373
     652#: admin/classes/class-merchant-admin-modules.php:622
    629653msgid "Product Navigation Links"
    630654msgstr ""
    631655
    632 #: admin/classes/class-merchant-admin-modules.php:374
     656#: admin/classes/class-merchant-admin-modules.php:623
    633657msgid "Enable easy navigation from one product to the next with next/previous links"
    634658msgstr ""
    635659
    636 #: admin/classes/class-merchant-admin-modules.php:381
     660#: admin/classes/class-merchant-admin-modules.php:627
    637661msgid "Product Video"
    638662msgstr ""
    639663
    640 #: admin/classes/class-merchant-admin-modules.php:382
     664#: admin/classes/class-merchant-admin-modules.php:628
    641665msgid "Upload video to be viewed in product galleries and on archive pages"
    642666msgstr ""
    643667
    644 #: admin/classes/class-merchant-admin-modules.php:389
     668#: admin/classes/class-merchant-admin-modules.php:632
    645669msgid "Product Audio"
    646670msgstr ""
    647671
    648 #: admin/classes/class-merchant-admin-modules.php:390
     672#: admin/classes/class-merchant-admin-modules.php:633
    649673msgid "Upload audio to be listened to in product galleries and on archive pages"
    650674msgstr ""
    651675
    652 #: admin/classes/class-merchant-admin-modules.php:397
     676#: admin/classes/class-merchant-admin-modules.php:637
    653677msgid "Login Popup"
    654678msgstr ""
    655679
    656 #: admin/classes/class-merchant-admin-modules.php:398
     680#: admin/classes/class-merchant-admin-modules.php:638
    657681msgid "Allow users to log in with a simple pop up without navigating to a new page"
    658682msgstr ""
    659683
    660 #: admin/classes/class-merchant-admin-modules.php:405, inc/modules/clear-cart/class-clear-cart.php:74, inc/modules/clear-cart/class-clear-cart.php:166, inc/modules/clear-cart/class-clear-cart.php:377, inc/modules/clear-cart/admin/options.php:189
     684#: admin/classes/class-merchant-admin-modules.php:642, inc/modules/clear-cart/class-clear-cart.php:74, inc/modules/clear-cart/class-clear-cart.php:166, inc/modules/clear-cart/class-clear-cart.php:377, inc/modules/clear-cart/admin/options.php:189
    661685msgid "Clear Cart"
    662686msgstr ""
    663687
    664 #: admin/classes/class-merchant-admin-modules.php:406
     688#: admin/classes/class-merchant-admin-modules.php:643
    665689msgid "Display a clear cart button to let customers empty their carts and start fresh"
    666690msgstr ""
    667691
    668 #: admin/classes/class-merchant-admin-modules.php:415
     692#: admin/classes/class-merchant-admin-modules.php:647
    669693msgid "Agree to Terms Checkbox"
    670694msgstr ""
    671695
    672 #: admin/classes/class-merchant-admin-modules.php:416
     696#: admin/classes/class-merchant-admin-modules.php:648
    673697msgid "Get customers to agree to your Terms & Conditions as part of the checkout process"
    674698msgstr ""
    675699
    676 #: admin/classes/class-merchant-admin-modules.php:423
     700#: admin/classes/class-merchant-admin-modules.php:652
    677701msgid "Cookie Banner"
    678702msgstr ""
    679703
    680 #: admin/classes/class-merchant-admin-modules.php:424
     704#: admin/classes/class-merchant-admin-modules.php:653
    681705msgid "Inform your visitors that the site uses cookies via a dismissable banner"
    682 msgstr ""
    683 
    684 #: admin/classes/class-merchant-admin-modules.php:438
    685 msgid "Boost Revenue"
    686 msgstr ""
    687 
    688 #: admin/classes/class-merchant-admin-modules.php:443
    689 msgid "Convert More"
    690 msgstr ""
    691 
    692 #: admin/classes/class-merchant-admin-modules.php:448
    693 msgid "Reduce Cart Abandonment"
    694 msgstr ""
    695 
    696 #: admin/classes/class-merchant-admin-modules.php:453
    697 msgid "Build Trust"
    698 msgstr ""
    699 
    700 #: admin/classes/class-merchant-admin-modules.php:458
    701 msgid "Improve Experience"
    702 msgstr ""
    703 
    704 #: admin/classes/class-merchant-admin-modules.php:463
    705 msgid "Protect Store"
    706706msgstr ""
    707707
     
    836836msgstr ""
    837837
    838 #: admin/classes/class-merchant-admin-options.php:1783, inc/modules/complementary-products/admin/options.php:408, inc/modules/frequently-bought-together/admin/options.php:521, inc/modules/side-cart/admin/options.php:438, templates/modules/complementary-products/admin-preview/cart.php:29
     838#: admin/classes/class-merchant-admin-options.php:1783, inc/modules/complementary-products/admin/options.php:434, inc/modules/frequently-bought-together/admin/options.php:547, inc/modules/side-cart/admin/options.php:438, templates/modules/complementary-products/admin-preview/cart.php:29
    839839msgid "Add"
    840840msgstr ""
     
    882882msgstr ""
    883883
    884 #: admin/classes/class-merchant-admin-options.php:2766, admin/pages/page-settings.php:99, inc/modules/buy-x-get-y/admin/options.php:36, inc/modules/complementary-products/admin/options.php:37, inc/modules/free-gifts/admin/options.php:36, inc/modules/frequently-bought-together/admin/options.php:36, inc/modules/pre-orders/admin/options.php:44, inc/modules/product-labels/admin/options.php:69, inc/modules/reasons-to-buy/admin/options.php:36, inc/modules/storewide-sale/admin/options.php:36, inc/modules/volume-discounts/admin/options.php:36
     884#: admin/classes/class-merchant-admin-options.php:2766, admin/pages/page-settings.php:106, inc/modules/buy-x-get-y/admin/options.php:36, inc/modules/complementary-products/admin/options.php:37, inc/modules/free-gifts/admin/options.php:36, inc/modules/frequently-bought-together/admin/options.php:36, inc/modules/pre-orders/admin/options.php:44, inc/modules/product-labels/admin/options.php:69, inc/modules/reasons-to-buy/admin/options.php:36, inc/modules/storewide-sale/admin/options.php:36, inc/modules/volume-discounts/admin/options.php:36
    885885msgid "Inactive"
    886886msgstr ""
    887887
    888 #: admin/classes/class-merchant-admin-options.php:2767, admin/pages/page-settings.php:91, inc/modules/buy-x-get-y/admin/options.php:35, inc/modules/complementary-products/admin/options.php:36, inc/modules/free-gifts/admin/options.php:35, inc/modules/frequently-bought-together/admin/options.php:35, inc/modules/pre-orders/admin/options.php:43, inc/modules/product-labels/admin/options.php:68, inc/modules/reasons-to-buy/admin/options.php:35, inc/modules/storewide-sale/admin/options.php:35, inc/modules/volume-discounts/admin/options.php:35
     888#: admin/classes/class-merchant-admin-options.php:2767, admin/pages/page-settings.php:98, inc/modules/buy-x-get-y/admin/options.php:35, inc/modules/complementary-products/admin/options.php:36, inc/modules/free-gifts/admin/options.php:35, inc/modules/frequently-bought-together/admin/options.php:35, inc/modules/pre-orders/admin/options.php:43, inc/modules/product-labels/admin/options.php:68, inc/modules/reasons-to-buy/admin/options.php:35, inc/modules/storewide-sale/admin/options.php:35, inc/modules/volume-discounts/admin/options.php:35
    889889msgid "Active"
    890890msgstr ""
     
    13511351msgstr ""
    13521352
    1353 #: admin/pages/page-module.php:269, admin/pages/page-settings.php:95
     1353#: admin/pages/page-module.php:269, admin/pages/page-settings.php:102
    13541354msgid "Preview"
    13551355msgstr ""
     
    14151415msgstr ""
    14161416
    1417 #: admin/pages/page-settings.php:84
     1417#: admin/pages/page-settings.php:82
     1418msgid "Enable modules usage tracking"
     1419msgstr ""
     1420
     1421#: admin/pages/page-settings.php:83
     1422msgid "Track which modules are used on your site. This helps us improve our products and services. No personal data is collected."
     1423msgstr ""
     1424
     1425#: admin/pages/page-settings.php:91
    14181426msgid "Merchant Operating Mode"
    14191427msgstr ""
    14201428
    1421 #: admin/pages/page-settings.php:92
     1429#: admin/pages/page-settings.php:99
    14221430msgid "Merchant is active and visible for all customers. This is the standard operating mode."
    14231431msgstr ""
    14241432
    1425 #: admin/pages/page-settings.php:96
     1433#: admin/pages/page-settings.php:103
    14261434msgid "All Merchant modules are active and visible only to admins. Use this mode to test Merchant modules before going live."
    14271435msgstr ""
    14281436
    1429 #: admin/pages/page-settings.php:100
     1437#: admin/pages/page-settings.php:107
    14301438msgid "Merchant is inactive for everyone, including you. While in this mode, your store operates like Merchant is not installed."
    14311439msgstr ""
    14321440
    1433 #: admin/pages/page-settings.php:110
     1441#: admin/pages/page-settings.php:117
    14341442msgid "Global Customizations"
    14351443msgstr ""
    14361444
    1437 #: admin/pages/page-settings.php:114
     1445#: admin/pages/page-settings.php:121
    14381446msgid "These settings allow you to add custom code, and are recommended for developers or advanced users only"
    14391447msgstr ""
    14401448
    1441 #: admin/pages/page-settings.php:124
     1449#: admin/pages/page-settings.php:131
    14421450msgid "Custom CSS"
    14431451msgstr ""
    14441452
    1445 #: admin/pages/page-settings.php:130
     1453#: admin/pages/page-settings.php:137
    14461454msgid "Custom JS"
    14471455msgstr ""
     
    15601568msgstr ""
    15611569
    1562 #: inc/modules/add-to-cart-text/class-add-to-cart-text.php:46, inc/modules/add-to-cart-text/class-add-to-cart-text.php:47, inc/modules/add-to-cart-text/class-add-to-cart-text.php:49, inc/modules/countdown-timer/class-countdown-timer.php:225, inc/modules/free-gifts/class-free-gifts.php:261, templates/modules/frequently-bought-together/single-product.php:151, templates/modules/volume-discounts/single-product.php:242, inc/modules/add-to-cart-text/admin/options.php:22, inc/modules/add-to-cart-text/admin/options.php:46, inc/modules/add-to-cart-text/admin/options.php:86, inc/modules/complementary-products/admin/options.php:423, inc/modules/complementary-products/admin/options.php:547, inc/modules/frequently-bought-together/admin/options.php:468, inc/modules/frequently-bought-together/admin/options.php:566, inc/modules/frequently-bought-together/admin/options.php:699
     1570#: inc/modules/add-to-cart-text/class-add-to-cart-text.php:46, inc/modules/add-to-cart-text/class-add-to-cart-text.php:47, inc/modules/add-to-cart-text/class-add-to-cart-text.php:49, inc/modules/countdown-timer/class-countdown-timer.php:225, inc/modules/free-gifts/class-free-gifts.php:261, templates/modules/frequently-bought-together/single-product.php:151, templates/modules/volume-discounts/single-product.php:242, inc/modules/add-to-cart-text/admin/options.php:22, inc/modules/add-to-cart-text/admin/options.php:46, inc/modules/add-to-cart-text/admin/options.php:86, inc/modules/complementary-products/admin/options.php:449, inc/modules/complementary-products/admin/options.php:573, inc/modules/frequently-bought-together/admin/options.php:494, inc/modules/frequently-bought-together/admin/options.php:592, inc/modules/frequently-bought-together/admin/options.php:725
    15631571msgid "Add to cart"
    15641572msgstr ""
     
    17601768msgstr ""
    17611769
    1762 #: inc/modules/animated-add-to-cart/class-animated-add-to-cart.php:185, inc/modules/buy-x-get-y/class-buy-x-get-y.php:253, inc/modules/frequently-bought-together/class-frequently-bought-together.php:219, inc/modules/quick-view/class-quick-view.php:381, inc/modules/volume-discounts/class-volume-discounts.php:338, templates/modules/buy-x-get-y/single-product.php:229, inc/modules/buy-x-get-y/admin/options.php:389, inc/modules/buy-x-get-y/admin/options.php:518, inc/modules/buy-x-get-y/admin/options.php:580, inc/modules/buy-x-get-y/admin/options.php:643, inc/modules/complementary-products/admin/options.php:485, inc/modules/frequently-bought-together/admin/options.php:620, inc/modules/volume-discounts/admin/options.php:586, inc/modules/volume-discounts/admin/options.php:650, inc/modules/volume-discounts/admin/options.php:722, templates/modules/complementary-products/admin-preview/cart.php:36
     1770#: inc/modules/animated-add-to-cart/class-animated-add-to-cart.php:185, inc/modules/buy-x-get-y/class-buy-x-get-y.php:253, inc/modules/frequently-bought-together/class-frequently-bought-together.php:219, inc/modules/quick-view/class-quick-view.php:381, inc/modules/volume-discounts/class-volume-discounts.php:338, templates/modules/buy-x-get-y/single-product.php:229, inc/modules/buy-x-get-y/admin/options.php:415, inc/modules/buy-x-get-y/admin/options.php:544, inc/modules/buy-x-get-y/admin/options.php:606, inc/modules/buy-x-get-y/admin/options.php:669, inc/modules/complementary-products/admin/options.php:511, inc/modules/frequently-bought-together/admin/options.php:646, inc/modules/volume-discounts/admin/options.php:612, inc/modules/volume-discounts/admin/options.php:676, inc/modules/volume-discounts/admin/options.php:748, templates/modules/complementary-products/admin-preview/cart.php:36
    17631771msgid "Add To Cart"
    17641772msgstr ""
     
    18081816msgstr ""
    18091817
    1810 #: inc/modules/buy-x-get-y/class-buy-x-get-y.php:252, inc/modules/buy-x-get-y/class-buy-x-get-y.php:297, inc/modules/buy-x-get-y/class-buy-x-get-y.php:336, inc/modules/frequently-bought-together/class-frequently-bought-together.php:259, inc/modules/frequently-bought-together/class-frequently-bought-together.php:301, inc/modules/volume-discounts/class-volume-discounts.php:265, inc/modules/volume-discounts/class-volume-discounts.php:302, inc/modules/buy-x-get-y/admin/options.php:502, inc/modules/buy-x-get-y/admin/options.php:565, inc/modules/buy-x-get-y/admin/options.php:627
     1818#: inc/modules/buy-x-get-y/class-buy-x-get-y.php:252, inc/modules/buy-x-get-y/class-buy-x-get-y.php:297, inc/modules/buy-x-get-y/class-buy-x-get-y.php:336, inc/modules/frequently-bought-together/class-frequently-bought-together.php:259, inc/modules/frequently-bought-together/class-frequently-bought-together.php:301, inc/modules/volume-discounts/class-volume-discounts.php:265, inc/modules/volume-discounts/class-volume-discounts.php:302, inc/modules/buy-x-get-y/admin/options.php:528, inc/modules/buy-x-get-y/admin/options.php:591, inc/modules/buy-x-get-y/admin/options.php:653
    18111819msgid "with {discount} off"
    18121820msgstr ""
     
    18881896msgstr ""
    18891897
    1890 #: inc/modules/clear-cart/class-clear-cart.php:236, inc/modules/free-gifts/admin/options.php:353
     1898#: inc/modules/clear-cart/class-clear-cart.php:236, inc/modules/free-gifts/admin/options.php:379
    18911899msgid "Product"
    18921900msgstr ""
     
    19721980msgstr ""
    19731981
    1974 #: inc/modules/free-gifts/class-free-gifts.php:61, templates/modules/free-gifts/widget-contents.php:206, inc/modules/free-gifts/admin/options.php:416
     1982#: inc/modules/free-gifts/class-free-gifts.php:61, templates/modules/free-gifts/widget-contents.php:206, inc/modules/free-gifts/admin/options.php:442
    19751983msgid "Free"
    19761984msgstr ""
    19771985
    1978 #: inc/modules/free-gifts/class-free-gifts.php:62, inc/modules/free-gifts/admin/options.php:423
     1986#: inc/modules/free-gifts/class-free-gifts.php:62, inc/modules/free-gifts/admin/options.php:449
    19791987msgid "Free Gift"
    19801988msgstr ""
    19811989
    1982 #: inc/modules/free-gifts/class-free-gifts.php:63, inc/modules/free-gifts/admin/options.php:431
     1990#: inc/modules/free-gifts/class-free-gifts.php:63, inc/modules/free-gifts/admin/options.php:457
    19831991msgid "This item was added as a free gift"
    19841992msgstr ""
     
    20082016msgstr ""
    20092017
    2010 #: inc/modules/free-gifts/class-free-gifts.php:153, inc/modules/free-gifts/class-free-gifts.php:158, inc/modules/free-gifts/class-free-gifts.php:163, inc/modules/free-gifts/class-free-gifts.php:168, inc/modules/free-gifts/admin/options.php:322
     2018#: inc/modules/free-gifts/class-free-gifts.php:153, inc/modules/free-gifts/class-free-gifts.php:158, inc/modules/free-gifts/class-free-gifts.php:163, inc/modules/free-gifts/class-free-gifts.php:168, inc/modules/free-gifts/admin/options.php:348
    20112019msgid "Congratulations! You are eligible to receive a free gift."
    20122020msgstr ""
     
    20492057msgstr ""
    20502058
    2051 #: inc/modules/frequently-bought-together/class-frequently-bought-together.php:55, inc/modules/storewide-sale/class-storewide-sale.php:55, templates/modules/frequently-bought-together/single-product.php:118, inc/modules/frequently-bought-together/admin/options.php:461
     2059#: inc/modules/frequently-bought-together/class-frequently-bought-together.php:55, inc/modules/storewide-sale/class-storewide-sale.php:55, templates/modules/frequently-bought-together/single-product.php:118, inc/modules/frequently-bought-together/admin/options.php:487
    20522060msgid "Please select an option to see the total price."
    20532061msgstr ""
    20542062
    2055 #: inc/modules/frequently-bought-together/class-frequently-bought-together.php:56, inc/modules/storewide-sale/class-storewide-sale.php:56, templates/modules/frequently-bought-together/single-product.php:124, inc/modules/frequently-bought-together/admin/options.php:453
     2063#: inc/modules/frequently-bought-together/class-frequently-bought-together.php:56, inc/modules/storewide-sale/class-storewide-sale.php:56, templates/modules/frequently-bought-together/single-product.php:124, inc/modules/frequently-bought-together/admin/options.php:479
    20562064msgid "Please select an option to see your savings."
    20572065msgstr ""
     
    21692177msgstr ""
    21702178
    2171 #: inc/modules/pre-orders/class-pre-orders-main-functionality.php:1132, inc/modules/pre-orders/class-pre-orders-main-functionality.php:1320, inc/modules/pre-orders/class-pre-orders-main-functionality.php:1621, inc/modules/pre-orders/admin/options.php:372
     2179#: inc/modules/pre-orders/class-pre-orders-main-functionality.php:1132, inc/modules/pre-orders/class-pre-orders-main-functionality.php:1320, inc/modules/pre-orders/class-pre-orders-main-functionality.php:1621, inc/modules/pre-orders/admin/options.php:398
    21722180msgid "Ships on"
    21732181msgstr ""
     
    25372545msgstr ""
    25382546
    2539 #: inc/modules/spending-goal/class-spending-goal.php:63, inc/modules/spending-goal/admin/options.php:254
     2547#: inc/modules/spending-goal/class-spending-goal.php:63, inc/modules/spending-goal/admin/options.php:280
    25402548msgid "Spend {spending_goal} to get a {discount_amount} discount!"
    25412549msgstr ""
    25422550
    2543 #: inc/modules/spending-goal/class-spending-goal.php:64, inc/modules/spending-goal/admin/options.php:262
     2551#: inc/modules/spending-goal/class-spending-goal.php:64, inc/modules/spending-goal/admin/options.php:288
    25442552msgid "Spend {spending_goal} more to get a {discount_amount} discount!"
    25452553msgstr ""
    25462554
    2547 #: inc/modules/spending-goal/class-spending-goal.php:65, inc/modules/spending-goal/admin/options.php:270
     2555#: inc/modules/spending-goal/class-spending-goal.php:65, inc/modules/spending-goal/admin/options.php:296
    25482556msgid "Congratulations! You got a discount of {discount_amount} on this order!"
    25492557msgstr ""
     
    25932601msgstr ""
    25942602
    2595 #: inc/modules/volume-discounts/class-volume-discounts.php:66, inc/modules/volume-discounts/class-volume-discounts.php:73, inc/modules/advanced-reviews/admin/options.php:287, inc/modules/complementary-products/admin/options.php:200, inc/modules/frequently-bought-together/admin/options.php:273, inc/modules/storewide-sale/admin/options.php:187, inc/modules/volume-discounts/admin/options.php:252, inc/modules/volume-discounts/admin/options.php:441
     2603#: inc/modules/volume-discounts/class-volume-discounts.php:66, inc/modules/volume-discounts/class-volume-discounts.php:73, inc/modules/advanced-reviews/admin/options.php:287, inc/modules/complementary-products/admin/options.php:200, inc/modules/frequently-bought-together/admin/options.php:273, inc/modules/storewide-sale/admin/options.php:187, inc/modules/volume-discounts/admin/options.php:252, inc/modules/volume-discounts/admin/options.php:467
    25962604msgid "Discount"
    25972605msgstr ""
    25982606
    2599 #: inc/modules/volume-discounts/class-volume-discounts.php:68, inc/modules/volume-discounts/class-volume-discounts.php:231, inc/modules/volume-discounts/admin/options.php:389
     2607#: inc/modules/volume-discounts/class-volume-discounts.php:68, inc/modules/volume-discounts/class-volume-discounts.php:231, inc/modules/volume-discounts/admin/options.php:415
    26002608msgid "Buy more, save more!"
    26012609msgstr ""
    26022610
    2603 #: inc/modules/volume-discounts/class-volume-discounts.php:69, inc/modules/volume-discounts/class-volume-discounts.php:227, templates/modules/volume-discounts/admin-preview.php:164, templates/modules/volume-discounts/single-product.php:200, inc/modules/volume-discounts/admin/options.php:397
     2611#: inc/modules/volume-discounts/class-volume-discounts.php:69, inc/modules/volume-discounts/class-volume-discounts.php:227, templates/modules/volume-discounts/admin-preview.php:164, templates/modules/volume-discounts/single-product.php:200, inc/modules/volume-discounts/admin/options.php:423
    26042612msgid "Save {amount}"
    26052613msgstr ""
    26062614
    2607 #: inc/modules/volume-discounts/class-volume-discounts.php:70, inc/modules/volume-discounts/class-volume-discounts.php:230, templates/modules/volume-discounts/admin-preview.php:103, templates/modules/volume-discounts/single-product.php:131, inc/modules/volume-discounts/admin/options.php:411
     2615#: inc/modules/volume-discounts/class-volume-discounts.php:70, inc/modules/volume-discounts/class-volume-discounts.php:230, templates/modules/volume-discounts/admin-preview.php:103, templates/modules/volume-discounts/single-product.php:131, inc/modules/volume-discounts/admin/options.php:437
    26082616msgid "Buy {quantity}, get {discount} off each"
    26092617msgstr ""
    26102618
    2611 #: inc/modules/volume-discounts/class-volume-discounts.php:71, inc/modules/volume-discounts/class-volume-discounts.php:228, templates/modules/volume-discounts/admin-preview.php:120, templates/modules/volume-discounts/single-product.php:147, inc/modules/volume-discounts/admin/options.php:427
     2619#: inc/modules/volume-discounts/class-volume-discounts.php:71, inc/modules/volume-discounts/class-volume-discounts.php:228, templates/modules/volume-discounts/admin-preview.php:120, templates/modules/volume-discounts/single-product.php:147, inc/modules/volume-discounts/admin/options.php:453
    26122620msgid "Per item:"
    26132621msgstr ""
    26142622
    2615 #: inc/modules/volume-discounts/class-volume-discounts.php:72, inc/modules/volume-discounts/class-volume-discounts.php:229, templates/modules/volume-discounts/admin-preview.php:128, templates/modules/volume-discounts/single-product.php:159, inc/modules/volume-discounts/admin/options.php:434
     2623#: inc/modules/volume-discounts/class-volume-discounts.php:72, inc/modules/volume-discounts/class-volume-discounts.php:229, templates/modules/volume-discounts/admin-preview.php:128, templates/modules/volume-discounts/single-product.php:159, inc/modules/volume-discounts/admin/options.php:460
    26162624msgid "Total price:"
    26172625msgstr ""
    26182626
    2619 #: inc/modules/volume-discounts/class-volume-discounts.php:74, inc/modules/volume-discounts/admin/options.php:449
     2627#: inc/modules/volume-discounts/class-volume-discounts.php:74, inc/modules/volume-discounts/admin/options.php:475
    26202628msgid "A discount of {amount} has been applied."
    26212629msgstr ""
     
    28292837msgstr ""
    28302838
    2831 #: templates/modules/buy-x-get-y/single-product.php:78, inc/modules/buy-x-get-y/admin/options.php:349
     2839#: templates/modules/buy-x-get-y/single-product.php:78, inc/modules/buy-x-get-y/admin/options.php:375
    28322840msgid "Buy One Get One"
    28332841msgstr ""
     
    28652873msgstr[1] ""
    28662874
    2867 #: templates/modules/frequently-bought-together/single-product.php:111, inc/modules/frequently-bought-together/admin/options.php:422
     2875#: templates/modules/frequently-bought-together/single-product.php:111, inc/modules/frequently-bought-together/admin/options.php:448
    28682876msgid "Bundle price"
    28692877msgstr ""
     
    29902998msgstr ""
    29912999
    2992 #: inc/modules/added-to-cart-popup/admin/options.php:73, inc/modules/complementary-products/admin/options.php:379, inc/modules/quick-view/admin/options.php:279
     3000#: inc/modules/added-to-cart-popup/admin/options.php:73, inc/modules/complementary-products/admin/options.php:405, inc/modules/quick-view/admin/options.php:279
    29933001msgid "Short description"
    29943002msgstr ""
     
    30063014msgstr ""
    30073015
    3008 #: inc/modules/added-to-cart-popup/admin/options.php:112, inc/modules/free-gifts/admin/options.php:407, inc/modules/spending-goal/admin/options.php:34
     3016#: inc/modules/added-to-cart-popup/admin/options.php:112, inc/modules/free-gifts/admin/options.php:433, inc/modules/spending-goal/admin/options.php:34
    30093017msgid "Cart total"
    30103018msgstr ""
     
    30943102msgstr ""
    30953103
    3096 #: inc/modules/added-to-cart-popup/admin/options.php:334, inc/modules/free-gifts/admin/options.php:491, inc/modules/product-labels/admin/options.php:405, inc/modules/recently-viewed-products/admin/options.php:200, inc/modules/stock-scarcity/admin/options.php:28
     3104#: inc/modules/added-to-cart-popup/admin/options.php:334, inc/modules/free-gifts/admin/options.php:517, inc/modules/product-labels/admin/options.php:405, inc/modules/recently-viewed-products/admin/options.php:200, inc/modules/stock-scarcity/admin/options.php:28
    30973105msgid "Show on pages"
    30983106msgstr ""
    30993107
    3100 #: inc/modules/added-to-cart-popup/admin/options.php:336, inc/modules/free-gifts/admin/options.php:492, inc/modules/product-labels/admin/options.php:407
     3108#: inc/modules/added-to-cart-popup/admin/options.php:336, inc/modules/free-gifts/admin/options.php:518, inc/modules/product-labels/admin/options.php:407
    31013109msgid "Homepage"
    31023110msgstr ""
     
    31223130msgstr ""
    31233131
    3124 #: inc/modules/added-to-cart-popup/admin/options.php:358, inc/modules/advanced-reviews/admin/options.php:967, inc/modules/clear-cart/admin/options.php:182, inc/modules/complementary-products/admin/options.php:571, inc/modules/countdown-timer/admin/options.php:225, inc/modules/free-gifts/admin/options.php:522, inc/modules/free-shipping-progress-bar/admin/options.php:923, inc/modules/recent-sales-notifications/admin/options.php:490, inc/modules/side-cart/admin/options.php:598
     3132#: inc/modules/added-to-cart-popup/admin/options.php:358, inc/modules/advanced-reviews/admin/options.php:967, inc/modules/clear-cart/admin/options.php:182, inc/modules/complementary-products/admin/options.php:597, inc/modules/countdown-timer/admin/options.php:225, inc/modules/free-gifts/admin/options.php:548, inc/modules/free-shipping-progress-bar/admin/options.php:949, inc/modules/recent-sales-notifications/admin/options.php:490, inc/modules/side-cart/admin/options.php:598
    31253133msgid "Look and Feel"
    31263134msgstr ""
     
    32723280msgstr ""
    32733281
    3274 #: inc/modules/advanced-reviews/admin/options.php:101, inc/modules/complementary-products/admin/options.php:638, inc/modules/recently-viewed-products/admin/options.php:33, inc/modules/wishlist/admin/options.php:71
     3282#: inc/modules/advanced-reviews/admin/options.php:101, inc/modules/complementary-products/admin/options.php:664, inc/modules/recently-viewed-products/admin/options.php:33, inc/modules/wishlist/admin/options.php:71
    32753283msgid "H1"
    32763284msgstr ""
    32773285
    3278 #: inc/modules/advanced-reviews/admin/options.php:102, inc/modules/complementary-products/admin/options.php:639, inc/modules/recently-viewed-products/admin/options.php:34, inc/modules/wishlist/admin/options.php:72
     3286#: inc/modules/advanced-reviews/admin/options.php:102, inc/modules/complementary-products/admin/options.php:665, inc/modules/recently-viewed-products/admin/options.php:34, inc/modules/wishlist/admin/options.php:72
    32793287msgid "H2"
    32803288msgstr ""
    32813289
    3282 #: inc/modules/advanced-reviews/admin/options.php:103, inc/modules/complementary-products/admin/options.php:640, inc/modules/recently-viewed-products/admin/options.php:35, inc/modules/wishlist/admin/options.php:73
     3290#: inc/modules/advanced-reviews/admin/options.php:103, inc/modules/complementary-products/admin/options.php:666, inc/modules/recently-viewed-products/admin/options.php:35, inc/modules/wishlist/admin/options.php:73
    32833291msgid "H3"
    32843292msgstr ""
    32853293
    3286 #: inc/modules/advanced-reviews/admin/options.php:104, inc/modules/complementary-products/admin/options.php:641, inc/modules/recently-viewed-products/admin/options.php:36, inc/modules/wishlist/admin/options.php:74
     3294#: inc/modules/advanced-reviews/admin/options.php:104, inc/modules/complementary-products/admin/options.php:667, inc/modules/recently-viewed-products/admin/options.php:36, inc/modules/wishlist/admin/options.php:74
    32873295msgid "H4"
    32883296msgstr ""
    32893297
    3290 #: inc/modules/advanced-reviews/admin/options.php:105, inc/modules/complementary-products/admin/options.php:642, inc/modules/recently-viewed-products/admin/options.php:37, inc/modules/wishlist/admin/options.php:75
     3298#: inc/modules/advanced-reviews/admin/options.php:105, inc/modules/complementary-products/admin/options.php:668, inc/modules/recently-viewed-products/admin/options.php:37, inc/modules/wishlist/admin/options.php:75
    32913299msgid "H5"
    32923300msgstr ""
    32933301
    3294 #: inc/modules/advanced-reviews/admin/options.php:106, inc/modules/complementary-products/admin/options.php:643, inc/modules/recently-viewed-products/admin/options.php:38, inc/modules/wishlist/admin/options.php:76
     3302#: inc/modules/advanced-reviews/admin/options.php:106, inc/modules/complementary-products/admin/options.php:669, inc/modules/recently-viewed-products/admin/options.php:38, inc/modules/wishlist/admin/options.php:76
    32953303msgid "H6"
    32963304msgstr ""
     
    33043312msgstr ""
    33053313
    3306 #: inc/modules/advanced-reviews/admin/options.php:124, inc/modules/advanced-reviews/admin/options.php:830, inc/modules/complementary-products/admin/options.php:470, templates/modules/complementary-products/admin-preview/checkout.php:15
     3314#: inc/modules/advanced-reviews/admin/options.php:124, inc/modules/advanced-reviews/admin/options.php:830, inc/modules/complementary-products/admin/options.php:496, templates/modules/complementary-products/admin-preview/checkout.php:15
    33073315msgid "Description"
    33083316msgstr ""
    33093317
    3310 #: inc/modules/advanced-reviews/admin/options.php:132, inc/modules/complementary-products/admin/options.php:663
     3318#: inc/modules/advanced-reviews/admin/options.php:132, inc/modules/complementary-products/admin/options.php:689
    33113319msgid "Title and description alignment"
    33123320msgstr ""
    33133321
    3314 #: inc/modules/advanced-reviews/admin/options.php:134, inc/modules/complementary-products/admin/options.php:665, inc/modules/countdown-timer/admin/options.php:215, inc/modules/payment-logos/admin/options.php:42, inc/modules/quick-social-links/admin/options.php:29, inc/modules/side-cart/admin/options.php:518, inc/modules/trust-badges/admin/options.php:54
     3322#: inc/modules/advanced-reviews/admin/options.php:134, inc/modules/complementary-products/admin/options.php:691, inc/modules/countdown-timer/admin/options.php:215, inc/modules/payment-logos/admin/options.php:42, inc/modules/quick-social-links/admin/options.php:29, inc/modules/side-cart/admin/options.php:518, inc/modules/trust-badges/admin/options.php:54
    33153323msgid "Left"
    33163324msgstr ""
    33173325
    3318 #: inc/modules/advanced-reviews/admin/options.php:135, inc/modules/complementary-products/admin/options.php:666, inc/modules/countdown-timer/admin/options.php:216, inc/modules/payment-logos/admin/options.php:43, inc/modules/trust-badges/admin/options.php:55
     3326#: inc/modules/advanced-reviews/admin/options.php:135, inc/modules/complementary-products/admin/options.php:692, inc/modules/countdown-timer/admin/options.php:216, inc/modules/payment-logos/admin/options.php:43, inc/modules/trust-badges/admin/options.php:55
    33193327msgid "Center"
    33203328msgstr ""
    33213329
    3322 #: inc/modules/advanced-reviews/admin/options.php:136, inc/modules/complementary-products/admin/options.php:667, inc/modules/countdown-timer/admin/options.php:217, inc/modules/payment-logos/admin/options.php:44, inc/modules/quick-social-links/admin/options.php:33, inc/modules/side-cart/admin/options.php:519, inc/modules/trust-badges/admin/options.php:56
     3330#: inc/modules/advanced-reviews/admin/options.php:136, inc/modules/complementary-products/admin/options.php:693, inc/modules/countdown-timer/admin/options.php:217, inc/modules/payment-logos/admin/options.php:44, inc/modules/quick-social-links/admin/options.php:33, inc/modules/side-cart/admin/options.php:519, inc/modules/trust-badges/admin/options.php:56
    33233331msgid "Right"
    33243332msgstr ""
     
    35143522msgstr ""
    35153523
    3516 #: inc/modules/advanced-reviews/admin/options.php:456, inc/modules/advanced-reviews/admin/options.php:564, inc/modules/advanced-reviews/admin/options.php:657, inc/modules/advanced-reviews/admin/options.php:728, inc/modules/buy-x-get-y/admin/options.php:357, inc/modules/buy-x-get-y/admin/options.php:373, inc/modules/buy-x-get-y/admin/options.php:487, inc/modules/buy-x-get-y/admin/options.php:503, inc/modules/buy-x-get-y/admin/options.php:551, inc/modules/buy-x-get-y/admin/options.php:566, inc/modules/buy-x-get-y/admin/options.php:600, inc/modules/buy-x-get-y/admin/options.php:628, inc/modules/free-shipping-progress-bar/admin/options.php:40, inc/modules/free-shipping-progress-bar/admin/options.php:56, inc/modules/frequently-bought-together/admin/options.php:438, inc/modules/frequently-bought-together/admin/options.php:536, inc/modules/frequently-bought-together/admin/options.php:605, inc/modules/frequently-bought-together/admin/options.php:639, inc/modules/frequently-bought-together/admin/options.php:667, inc/modules/frequently-bought-together/admin/options.php:684, inc/modules/login-popup/admin/options.php:47, inc/modules/product-labels/admin/options.php:106, inc/modules/volume-discounts/admin/options.php:398, inc/modules/volume-discounts/admin/options.php:412, inc/modules/volume-discounts/admin/options.php:570, inc/modules/volume-discounts/admin/options.php:619, inc/modules/volume-discounts/admin/options.php:635, inc/modules/volume-discounts/admin/options.php:670, inc/modules/volume-discounts/admin/options.php:699
     3524#: inc/modules/advanced-reviews/admin/options.php:456, inc/modules/advanced-reviews/admin/options.php:564, inc/modules/advanced-reviews/admin/options.php:657, inc/modules/advanced-reviews/admin/options.php:728, inc/modules/buy-x-get-y/admin/options.php:383, inc/modules/buy-x-get-y/admin/options.php:399, inc/modules/buy-x-get-y/admin/options.php:513, inc/modules/buy-x-get-y/admin/options.php:529, inc/modules/buy-x-get-y/admin/options.php:577, inc/modules/buy-x-get-y/admin/options.php:592, inc/modules/buy-x-get-y/admin/options.php:626, inc/modules/buy-x-get-y/admin/options.php:654, inc/modules/free-shipping-progress-bar/admin/options.php:40, inc/modules/free-shipping-progress-bar/admin/options.php:56, inc/modules/frequently-bought-together/admin/options.php:464, inc/modules/frequently-bought-together/admin/options.php:562, inc/modules/frequently-bought-together/admin/options.php:631, inc/modules/frequently-bought-together/admin/options.php:665, inc/modules/frequently-bought-together/admin/options.php:693, inc/modules/frequently-bought-together/admin/options.php:710, inc/modules/login-popup/admin/options.php:47, inc/modules/product-labels/admin/options.php:106, inc/modules/volume-discounts/admin/options.php:424, inc/modules/volume-discounts/admin/options.php:438, inc/modules/volume-discounts/admin/options.php:596, inc/modules/volume-discounts/admin/options.php:645, inc/modules/volume-discounts/admin/options.php:661, inc/modules/volume-discounts/admin/options.php:696, inc/modules/volume-discounts/admin/options.php:725
    35173525msgid "You can use these codes in the content."
    35183526msgstr ""
     
    36793687msgstr ""
    36803688
    3681 #: inc/modules/advanced-reviews/admin/options.php:889, inc/modules/complementary-products/admin/options.php:622, inc/modules/countdown-timer/admin/options.php:293, inc/modules/product-swatches/admin/options.php:84, inc/modules/product-swatches/admin/options.php:142, inc/modules/product-swatches/admin/options.php:234, inc/modules/product-swatches/admin/options.php:322, inc/modules/product-swatches/admin/options.php:393, inc/modules/product-swatches/admin/options.php:496, inc/modules/product-swatches/admin/options.php:629, inc/modules/product-swatches/admin/options.php:717, inc/modules/recent-sales-notifications/admin/options.php:675, inc/modules/scroll-to-top-button/admin/options.php:240, inc/modules/sticky-add-to-cart/admin/options.php:123, inc/modules/trust-badges/admin/options.php:89, inc/modules/volume-discounts/admin/options.php:514
     3689#: inc/modules/advanced-reviews/admin/options.php:889, inc/modules/complementary-products/admin/options.php:648, inc/modules/countdown-timer/admin/options.php:293, inc/modules/product-swatches/admin/options.php:84, inc/modules/product-swatches/admin/options.php:142, inc/modules/product-swatches/admin/options.php:234, inc/modules/product-swatches/admin/options.php:322, inc/modules/product-swatches/admin/options.php:393, inc/modules/product-swatches/admin/options.php:496, inc/modules/product-swatches/admin/options.php:629, inc/modules/product-swatches/admin/options.php:717, inc/modules/recent-sales-notifications/admin/options.php:675, inc/modules/scroll-to-top-button/admin/options.php:240, inc/modules/sticky-add-to-cart/admin/options.php:123, inc/modules/trust-badges/admin/options.php:89, inc/modules/volume-discounts/admin/options.php:540
    36823690msgid "Border color"
    36833691msgstr ""
     
    36873695msgstr ""
    36883696
    3689 #: inc/modules/advanced-reviews/admin/options.php:902, inc/modules/free-shipping-progress-bar/admin/options.php:214
     3697#: inc/modules/advanced-reviews/admin/options.php:902, inc/modules/free-shipping-progress-bar/admin/options.php:240
    36903698msgid "Show on"
    36913699msgstr ""
    36923700
    3693 #: inc/modules/advanced-reviews/admin/options.php:904, inc/modules/free-gifts/admin/options.php:499
     3701#: inc/modules/advanced-reviews/admin/options.php:904, inc/modules/free-gifts/admin/options.php:525
    36943702msgid "Shop page"
    36953703msgstr ""
     
    36993707msgstr ""
    37003708
    3701 #: inc/modules/advanced-reviews/admin/options.php:912, inc/modules/buy-x-get-y/admin/options.php:535, inc/modules/buy-x-get-y/admin/options.php:614, inc/modules/clear-cart/admin/options.php:101, inc/modules/complementary-products/admin/options.php:441, inc/modules/complementary-products/admin/options.php:503, inc/modules/free-shipping-progress-bar/admin/options.php:181, inc/modules/frequently-bought-together/admin/options.php:583, inc/modules/frequently-bought-together/admin/options.php:653, inc/modules/pre-orders/admin/options.php:361, inc/modules/product-navigation-links/admin/options.php:45, inc/modules/volume-discounts/admin/options.php:603, inc/modules/volume-discounts/admin/options.php:685
     3709#: inc/modules/advanced-reviews/admin/options.php:912, inc/modules/buy-x-get-y/admin/options.php:561, inc/modules/buy-x-get-y/admin/options.php:640, inc/modules/clear-cart/admin/options.php:101, inc/modules/complementary-products/admin/options.php:467, inc/modules/complementary-products/admin/options.php:529, inc/modules/free-shipping-progress-bar/admin/options.php:207, inc/modules/frequently-bought-together/admin/options.php:609, inc/modules/frequently-bought-together/admin/options.php:679, inc/modules/pre-orders/admin/options.php:387, inc/modules/product-navigation-links/admin/options.php:45, inc/modules/volume-discounts/admin/options.php:629, inc/modules/volume-discounts/admin/options.php:711
    37023710msgid "Placement"
    37033711msgstr ""
     
    37203728msgstr ""
    37213729
    3722 #: inc/modules/advanced-reviews/admin/options.php:980, inc/modules/complementary-products/admin/options.php:608, inc/modules/login-popup/admin/options.php:123, inc/modules/reasons-to-buy/admin/options.php:251, inc/modules/recently-viewed-products/admin/options.php:166, inc/modules/side-cart/admin/options.php:615, inc/modules/size-chart/admin/options.php:141, inc/modules/sticky-add-to-cart/admin/options.php:147
     3730#: inc/modules/advanced-reviews/admin/options.php:980, inc/modules/complementary-products/admin/options.php:634, inc/modules/login-popup/admin/options.php:123, inc/modules/reasons-to-buy/admin/options.php:251, inc/modules/recently-viewed-products/admin/options.php:166, inc/modules/side-cart/admin/options.php:615, inc/modules/size-chart/admin/options.php:141, inc/modules/sticky-add-to-cart/admin/options.php:147
    37233731msgid "Title color"
    37243732msgstr ""
    37253733
    3726 #: inc/modules/advanced-reviews/admin/options.php:988, inc/modules/complementary-products/admin/options.php:615
     3734#: inc/modules/advanced-reviews/admin/options.php:988, inc/modules/complementary-products/admin/options.php:641
    37273735msgid "Description color"
    37283736msgstr ""
     
    37363744msgstr ""
    37373745
    3738 #: inc/modules/advanced-reviews/admin/options.php:1012, inc/modules/spending-goal/admin/options.php:299
     3746#: inc/modules/advanced-reviews/admin/options.php:1012, inc/modules/spending-goal/admin/options.php:325
    37393747msgid "Progress bar color"
    37403748msgstr ""
     
    37563764msgstr ""
    37573765
    3758 #: inc/modules/advanced-reviews/admin/options.php:1052, inc/modules/buy-now/admin/options.php:68, inc/modules/cookie-banner/admin/options.php:133, inc/modules/login-popup/admin/options.php:179, inc/modules/pre-orders/admin/options.php:405, inc/modules/quick-view/admin/options.php:198, inc/modules/side-cart/admin/options.php:706, inc/modules/sticky-add-to-cart/admin/options.php:155
     3766#: inc/modules/advanced-reviews/admin/options.php:1052, inc/modules/buy-now/admin/options.php:68, inc/modules/cookie-banner/admin/options.php:133, inc/modules/login-popup/admin/options.php:179, inc/modules/pre-orders/admin/options.php:431, inc/modules/quick-view/admin/options.php:198, inc/modules/side-cart/admin/options.php:706, inc/modules/sticky-add-to-cart/admin/options.php:155
    37593767msgid "Button background color"
    37603768msgstr ""
     
    37923800msgstr ""
    37933801
    3794 #: inc/modules/advanced-reviews/admin/options.php:1132, inc/modules/advanced-reviews/admin/options.php:1137, inc/modules/buy-x-get-y/admin/options.php:664, inc/modules/buy-x-get-y/admin/options.php:669, inc/modules/cart-reserved-timer/admin/options.php:103, inc/modules/cart-reserved-timer/admin/options.php:108, inc/modules/clear-cart/admin/options.php:315, inc/modules/clear-cart/admin/options.php:320, inc/modules/complementary-products/admin/options.php:700, inc/modules/complementary-products/admin/options.php:705, inc/modules/countdown-timer/admin/options.php:336, inc/modules/countdown-timer/admin/options.php:341, inc/modules/frequently-bought-together/admin/options.php:722, inc/modules/frequently-bought-together/admin/options.php:727, inc/modules/payment-logos/admin/options.php:125, inc/modules/payment-logos/admin/options.php:130, inc/modules/product-audio/admin/options.php:34, inc/modules/product-audio/admin/options.php:39, inc/modules/product-brand-image/admin/options.php:82, inc/modules/product-brand-image/admin/options.php:87, inc/modules/product-bundles/admin/options.php:158, inc/modules/product-bundles/admin/options.php:163, inc/modules/product-labels/admin/options.php:442, inc/modules/product-labels/admin/options.php:447, inc/modules/product-navigation-links/admin/options.php:144, inc/modules/product-navigation-links/admin/options.php:149, inc/modules/product-video/admin/options.php:52, inc/modules/product-video/admin/options.php:57, inc/modules/quick-social-links/admin/options.php:419, inc/modules/quick-social-links/admin/options.php:424, inc/modules/quick-view/admin/options.php:445, inc/modules/quick-view/admin/options.php:450, inc/modules/real-time-search/admin/options.php:112, inc/modules/real-time-search/admin/options.php:117, inc/modules/reasons-to-buy/admin/options.php:286, inc/modules/reasons-to-buy/admin/options.php:291, inc/modules/recently-viewed-products/admin/options.php:215, inc/modules/recently-viewed-products/admin/options.php:220, inc/modules/size-chart/admin/options.php:215, inc/modules/size-chart/admin/options.php:220, inc/modules/stock-scarcity/admin/options.php:188, inc/modules/stock-scarcity/admin/options.php:193, inc/modules/trust-badges/admin/options.php:144, inc/modules/trust-badges/admin/options.php:149, inc/modules/volume-discounts/admin/options.php:759, inc/modules/volume-discounts/admin/options.php:764, inc/modules/wait-list/admin/options.php:150, inc/modules/wait-list/admin/options.php:155, inc/modules/wishlist/admin/options.php:488, inc/modules/wishlist/admin/options.php:493
     3802#: inc/modules/advanced-reviews/admin/options.php:1132, inc/modules/advanced-reviews/admin/options.php:1137, inc/modules/buy-x-get-y/admin/options.php:690, inc/modules/buy-x-get-y/admin/options.php:695, inc/modules/cart-reserved-timer/admin/options.php:103, inc/modules/cart-reserved-timer/admin/options.php:108, inc/modules/clear-cart/admin/options.php:315, inc/modules/clear-cart/admin/options.php:320, inc/modules/complementary-products/admin/options.php:726, inc/modules/complementary-products/admin/options.php:731, inc/modules/countdown-timer/admin/options.php:336, inc/modules/countdown-timer/admin/options.php:341, inc/modules/frequently-bought-together/admin/options.php:748, inc/modules/frequently-bought-together/admin/options.php:753, inc/modules/payment-logos/admin/options.php:125, inc/modules/payment-logos/admin/options.php:130, inc/modules/product-audio/admin/options.php:34, inc/modules/product-audio/admin/options.php:39, inc/modules/product-brand-image/admin/options.php:82, inc/modules/product-brand-image/admin/options.php:87, inc/modules/product-bundles/admin/options.php:158, inc/modules/product-bundles/admin/options.php:163, inc/modules/product-labels/admin/options.php:442, inc/modules/product-labels/admin/options.php:447, inc/modules/product-navigation-links/admin/options.php:144, inc/modules/product-navigation-links/admin/options.php:149, inc/modules/product-video/admin/options.php:52, inc/modules/product-video/admin/options.php:57, inc/modules/quick-social-links/admin/options.php:419, inc/modules/quick-social-links/admin/options.php:424, inc/modules/quick-view/admin/options.php:445, inc/modules/quick-view/admin/options.php:450, inc/modules/real-time-search/admin/options.php:112, inc/modules/real-time-search/admin/options.php:117, inc/modules/reasons-to-buy/admin/options.php:286, inc/modules/reasons-to-buy/admin/options.php:291, inc/modules/recently-viewed-products/admin/options.php:215, inc/modules/recently-viewed-products/admin/options.php:220, inc/modules/size-chart/admin/options.php:215, inc/modules/size-chart/admin/options.php:220, inc/modules/stock-scarcity/admin/options.php:188, inc/modules/stock-scarcity/admin/options.php:193, inc/modules/trust-badges/admin/options.php:144, inc/modules/trust-badges/admin/options.php:149, inc/modules/volume-discounts/admin/options.php:785, inc/modules/volume-discounts/admin/options.php:790, inc/modules/wait-list/admin/options.php:150, inc/modules/wait-list/admin/options.php:155, inc/modules/wishlist/admin/options.php:488, inc/modules/wishlist/admin/options.php:493
    37953803msgid "Use shortcode"
    37963804msgstr ""
    37973805
    3798 #: inc/modules/advanced-reviews/admin/options.php:1143, inc/modules/buy-x-get-y/admin/options.php:675, inc/modules/cart-reserved-timer/admin/options.php:114, inc/modules/complementary-products/admin/options.php:711, inc/modules/countdown-timer/admin/options.php:347, inc/modules/frequently-bought-together/admin/options.php:733, inc/modules/payment-logos/admin/options.php:136, inc/modules/product-audio/admin/options.php:45, inc/modules/product-brand-image/admin/options.php:93, inc/modules/product-bundles/admin/options.php:169, inc/modules/product-labels/admin/options.php:453, inc/modules/product-navigation-links/admin/options.php:155, inc/modules/product-video/admin/options.php:63, inc/modules/reasons-to-buy/admin/options.php:297, inc/modules/recently-viewed-products/admin/options.php:226, inc/modules/size-chart/admin/options.php:226, inc/modules/stock-scarcity/admin/options.php:199, inc/modules/trust-badges/admin/options.php:155, inc/modules/volume-discounts/admin/options.php:770, inc/modules/wait-list/admin/options.php:161, inc/modules/wishlist/admin/options.php:499
     3806#: inc/modules/advanced-reviews/admin/options.php:1143, inc/modules/buy-x-get-y/admin/options.php:701, inc/modules/cart-reserved-timer/admin/options.php:114, inc/modules/complementary-products/admin/options.php:737, inc/modules/countdown-timer/admin/options.php:347, inc/modules/frequently-bought-together/admin/options.php:759, inc/modules/payment-logos/admin/options.php:136, inc/modules/product-audio/admin/options.php:45, inc/modules/product-brand-image/admin/options.php:93, inc/modules/product-bundles/admin/options.php:169, inc/modules/product-labels/admin/options.php:453, inc/modules/product-navigation-links/admin/options.php:155, inc/modules/product-video/admin/options.php:63, inc/modules/reasons-to-buy/admin/options.php:297, inc/modules/recently-viewed-products/admin/options.php:226, inc/modules/size-chart/admin/options.php:226, inc/modules/stock-scarcity/admin/options.php:199, inc/modules/trust-badges/admin/options.php:155, inc/modules/volume-discounts/admin/options.php:796, inc/modules/wait-list/admin/options.php:161, inc/modules/wishlist/admin/options.php:499
    37993807msgid "If you are using a page builder or a theme that supports shortcodes, then you can output the module using the shortcode above. This might be useful if, for example, you find that you want to control the position of the module output more precisely than with the module settings. Note that the shortcodes can only be used on single product pages."
    38003808msgstr ""
    38013809
    3802 #: inc/modules/advanced-reviews/admin/options.php:1149, inc/modules/buy-x-get-y/admin/options.php:681, inc/modules/cart-reserved-timer/admin/options.php:119, inc/modules/clear-cart/admin/options.php:333, inc/modules/complementary-products/admin/options.php:717, inc/modules/countdown-timer/admin/options.php:352, inc/modules/free-shipping-progress-bar/admin/options.php:569, inc/modules/free-shipping-progress-bar/admin/options.php:744, inc/modules/free-shipping-progress-bar/admin/options.php:853, inc/modules/frequently-bought-together/admin/options.php:739, inc/modules/payment-logos/admin/options.php:141, inc/modules/product-audio/admin/options.php:50, inc/modules/product-brand-image/admin/options.php:98, inc/modules/product-bundles/admin/options.php:175, inc/modules/product-labels/admin/options.php:458, inc/modules/product-navigation-links/admin/options.php:160, inc/modules/product-video/admin/options.php:68, inc/modules/quick-social-links/admin/options.php:435, inc/modules/quick-view/admin/options.php:461, inc/modules/real-time-search/admin/options.php:128, inc/modules/reasons-to-buy/admin/options.php:302, inc/modules/recently-viewed-products/admin/options.php:231, inc/modules/size-chart/admin/options.php:231, inc/modules/stock-scarcity/admin/options.php:207, inc/modules/trust-badges/admin/options.php:160, inc/modules/volume-discounts/admin/options.php:776, inc/modules/wait-list/admin/options.php:166, inc/modules/wishlist/admin/options.php:504
     3810#: inc/modules/advanced-reviews/admin/options.php:1149, inc/modules/buy-x-get-y/admin/options.php:707, inc/modules/cart-reserved-timer/admin/options.php:119, inc/modules/clear-cart/admin/options.php:333, inc/modules/complementary-products/admin/options.php:743, inc/modules/countdown-timer/admin/options.php:352, inc/modules/free-shipping-progress-bar/admin/options.php:595, inc/modules/free-shipping-progress-bar/admin/options.php:770, inc/modules/free-shipping-progress-bar/admin/options.php:879, inc/modules/frequently-bought-together/admin/options.php:765, inc/modules/payment-logos/admin/options.php:141, inc/modules/product-audio/admin/options.php:50, inc/modules/product-brand-image/admin/options.php:98, inc/modules/product-bundles/admin/options.php:175, inc/modules/product-labels/admin/options.php:458, inc/modules/product-navigation-links/admin/options.php:160, inc/modules/product-video/admin/options.php:68, inc/modules/quick-social-links/admin/options.php:435, inc/modules/quick-view/admin/options.php:461, inc/modules/real-time-search/admin/options.php:128, inc/modules/reasons-to-buy/admin/options.php:302, inc/modules/recently-viewed-products/admin/options.php:231, inc/modules/size-chart/admin/options.php:231, inc/modules/stock-scarcity/admin/options.php:207, inc/modules/trust-badges/admin/options.php:160, inc/modules/volume-discounts/admin/options.php:802, inc/modules/wait-list/admin/options.php:166, inc/modules/wishlist/admin/options.php:504
    38033811msgid "Shortcode text"
    38043812msgstr ""
     
    38363844msgstr ""
    38373845
    3838 #: inc/modules/buy-now/admin/options.php:21, inc/modules/buy-x-get-y/admin/options.php:388, inc/modules/buy-x-get-y/admin/options.php:517, inc/modules/buy-x-get-y/admin/options.php:579, inc/modules/buy-x-get-y/admin/options.php:642, inc/modules/complementary-products/admin/options.php:422, inc/modules/complementary-products/admin/options.php:484, inc/modules/complementary-products/admin/options.php:546, inc/modules/cookie-banner/admin/options.php:55, inc/modules/frequently-bought-together/admin/options.php:467, inc/modules/frequently-bought-together/admin/options.php:565, inc/modules/frequently-bought-together/admin/options.php:619, inc/modules/frequently-bought-together/admin/options.php:698, inc/modules/pre-orders/admin/options.php:347, inc/modules/quick-view/admin/options.php:36, inc/modules/side-cart/admin/options.php:436, inc/modules/volume-discounts/admin/options.php:585, inc/modules/volume-discounts/admin/options.php:649, inc/modules/volume-discounts/admin/options.php:721
     3846#: inc/modules/buy-now/admin/options.php:21, inc/modules/buy-x-get-y/admin/options.php:414, inc/modules/buy-x-get-y/admin/options.php:543, inc/modules/buy-x-get-y/admin/options.php:605, inc/modules/buy-x-get-y/admin/options.php:668, inc/modules/complementary-products/admin/options.php:448, inc/modules/complementary-products/admin/options.php:510, inc/modules/complementary-products/admin/options.php:572, inc/modules/cookie-banner/admin/options.php:55, inc/modules/frequently-bought-together/admin/options.php:493, inc/modules/frequently-bought-together/admin/options.php:591, inc/modules/frequently-bought-together/admin/options.php:645, inc/modules/frequently-bought-together/admin/options.php:724, inc/modules/pre-orders/admin/options.php:373, inc/modules/quick-view/admin/options.php:36, inc/modules/side-cart/admin/options.php:436, inc/modules/volume-discounts/admin/options.php:611, inc/modules/volume-discounts/admin/options.php:675, inc/modules/volume-discounts/admin/options.php:747
    38393847msgid "Button text"
    38403848msgstr ""
     
    38443852msgstr ""
    38453853
    3846 #: inc/modules/buy-now/admin/options.php:36, inc/modules/cookie-banner/admin/options.php:140, inc/modules/pre-orders/admin/options.php:377, inc/modules/quick-view/admin/options.php:168
     3854#: inc/modules/buy-now/admin/options.php:36, inc/modules/cookie-banner/admin/options.php:140, inc/modules/pre-orders/admin/options.php:403, inc/modules/quick-view/admin/options.php:168
    38473855msgid "Button text color"
    38483856msgstr ""
    38493857
    3850 #: inc/modules/buy-now/admin/options.php:44, inc/modules/pre-orders/admin/options.php:384, inc/modules/quick-view/admin/options.php:176
     3858#: inc/modules/buy-now/admin/options.php:44, inc/modules/pre-orders/admin/options.php:410, inc/modules/quick-view/admin/options.php:176
    38513859msgid "Button text color hover"
    38523860msgstr ""
    38533861
    3854 #: inc/modules/buy-now/admin/options.php:52, inc/modules/login-popup/admin/options.php:165, inc/modules/pre-orders/admin/options.php:391, inc/modules/quick-view/admin/options.php:184, inc/modules/side-cart/admin/options.php:692
     3862#: inc/modules/buy-now/admin/options.php:52, inc/modules/login-popup/admin/options.php:165, inc/modules/pre-orders/admin/options.php:417, inc/modules/quick-view/admin/options.php:184, inc/modules/side-cart/admin/options.php:692
    38553863msgid "Button border color"
    38563864msgstr ""
    38573865
    3858 #: inc/modules/buy-now/admin/options.php:60, inc/modules/login-popup/admin/options.php:172, inc/modules/pre-orders/admin/options.php:398, inc/modules/quick-view/admin/options.php:191, inc/modules/side-cart/admin/options.php:699
     3866#: inc/modules/buy-now/admin/options.php:60, inc/modules/login-popup/admin/options.php:172, inc/modules/pre-orders/admin/options.php:424, inc/modules/quick-view/admin/options.php:191, inc/modules/side-cart/admin/options.php:699
    38593867msgid "Button border color hover"
    38603868msgstr ""
    38613869
    3862 #: inc/modules/buy-now/admin/options.php:76, inc/modules/login-popup/admin/options.php:186, inc/modules/pre-orders/admin/options.php:412, inc/modules/quick-view/admin/options.php:205, inc/modules/side-cart/admin/options.php:713
     3870#: inc/modules/buy-now/admin/options.php:76, inc/modules/login-popup/admin/options.php:186, inc/modules/pre-orders/admin/options.php:438, inc/modules/quick-view/admin/options.php:205, inc/modules/side-cart/admin/options.php:713
    38633871msgid "Button background color hover"
    38643872msgstr ""
    38653873
    3866 #: inc/modules/buy-now/admin/options.php:84, inc/modules/buy-x-get-y/admin/options.php:408, inc/modules/clear-cart/admin/options.php:301, inc/modules/payment-logos/admin/options.php:59, inc/modules/product-labels/admin/options.php:225, inc/modules/trust-badges/admin/options.php:71
     3874#: inc/modules/buy-now/admin/options.php:84, inc/modules/buy-x-get-y/admin/options.php:434, inc/modules/clear-cart/admin/options.php:301, inc/modules/payment-logos/admin/options.php:59, inc/modules/product-labels/admin/options.php:225, inc/modules/trust-badges/admin/options.php:71
    38673875msgid "Font size"
    38683876msgstr ""
     
    38763884msgstr ""
    38773885
    3878 #: inc/modules/buy-now/admin/options.php:120, inc/modules/complementary-products/admin/options.php:675, inc/modules/product-swatches/admin/options.php:108, inc/modules/product-swatches/admin/options.php:169, inc/modules/product-swatches/admin/options.php:258, inc/modules/product-swatches/admin/options.php:349, inc/modules/product-swatches/admin/options.php:453, inc/modules/product-swatches/admin/options.php:564, inc/modules/product-swatches/admin/options.php:653, inc/modules/product-swatches/admin/options.php:744, inc/modules/quick-social-links/admin/options.php:74, inc/modules/scroll-to-top-button/admin/options.php:199, inc/modules/side-cart/admin/options.php:552
     3886#: inc/modules/buy-now/admin/options.php:120, inc/modules/complementary-products/admin/options.php:701, inc/modules/product-swatches/admin/options.php:108, inc/modules/product-swatches/admin/options.php:169, inc/modules/product-swatches/admin/options.php:258, inc/modules/product-swatches/admin/options.php:349, inc/modules/product-swatches/admin/options.php:453, inc/modules/product-swatches/admin/options.php:564, inc/modules/product-swatches/admin/options.php:653, inc/modules/product-swatches/admin/options.php:744, inc/modules/quick-social-links/admin/options.php:74, inc/modules/scroll-to-top-button/admin/options.php:199, inc/modules/side-cart/admin/options.php:552
    38793887msgid "Border radius"
    38803888msgstr ""
     
    39563964msgstr ""
    39573965
    3958 #: inc/modules/buy-x-get-y/admin/options.php:27, inc/modules/buy-x-get-y/admin/options.php:44, inc/modules/complementary-products/admin/options.php:45, inc/modules/complementary-products/admin/options.php:372, inc/modules/free-gifts/admin/options.php:348, inc/modules/frequently-bought-together/admin/options.php:44, inc/modules/pre-orders/admin/options.php:35, inc/modules/volume-discounts/admin/options.php:44
     3966#: inc/modules/buy-x-get-y/admin/options.php:27, inc/modules/buy-x-get-y/admin/options.php:44, inc/modules/complementary-products/admin/options.php:45, inc/modules/complementary-products/admin/options.php:398, inc/modules/free-gifts/admin/options.php:374, inc/modules/frequently-bought-together/admin/options.php:44, inc/modules/pre-orders/admin/options.php:35, inc/modules/volume-discounts/admin/options.php:44
    39593967msgid "Campaign"
    39603968msgstr ""
    39613969
    3962 #: inc/modules/buy-x-get-y/admin/options.php:43, inc/modules/complementary-products/admin/options.php:44, inc/modules/free-gifts/admin/options.php:43, inc/modules/free-gifts/admin/options.php:347, inc/modules/frequently-bought-together/admin/options.php:43, inc/modules/storewide-sale/admin/options.php:43, inc/modules/volume-discounts/admin/options.php:43
     3970#: inc/modules/buy-x-get-y/admin/options.php:43, inc/modules/complementary-products/admin/options.php:44, inc/modules/free-gifts/admin/options.php:43, inc/modules/free-gifts/admin/options.php:373, inc/modules/frequently-bought-together/admin/options.php:43, inc/modules/storewide-sale/admin/options.php:43, inc/modules/volume-discounts/admin/options.php:43
    39633971msgid "Offer name"
    39643972msgstr ""
     
    40924100msgstr ""
    40934101
    4094 #: inc/modules/buy-x-get-y/admin/options.php:284, inc/modules/free-gifts/admin/options.php:249, inc/modules/free-shipping-progress-bar/admin/options.php:136, inc/modules/frequently-bought-together/admin/options.php:340, inc/modules/pre-orders/admin/options.php:305, inc/modules/storewide-sale/admin/options.php:252, inc/modules/volume-discounts/admin/options.php:324
     4102#: inc/modules/buy-x-get-y/admin/options.php:284, inc/modules/free-gifts/admin/options.php:249, inc/modules/free-shipping-progress-bar/admin/options.php:136, inc/modules/pre-orders/admin/options.php:305, inc/modules/storewide-sale/admin/options.php:252, inc/modules/volume-discounts/admin/options.php:324
    40954103msgid "Select the users that will not show the offer."
    40964104msgstr ""
    40974105
    4098 #: inc/modules/buy-x-get-y/admin/options.php:301, inc/modules/complementary-products/admin/options.php:322, inc/modules/free-gifts/admin/options.php:266, inc/modules/free-shipping-progress-bar/admin/options.php:153, inc/modules/frequently-bought-together/admin/options.php:357, inc/modules/pre-orders/admin/options.php:322, inc/modules/spending-goal/admin/options.php:212, inc/modules/storewide-sale/admin/options.php:269, inc/modules/volume-discounts/admin/options.php:341
     4106#: inc/modules/buy-x-get-y/admin/options.php:301, inc/modules/complementary-products/admin/options.php:322, inc/modules/free-gifts/admin/options.php:266, inc/modules/free-shipping-progress-bar/admin/options.php:153, inc/modules/frequently-bought-together/admin/options.php:357, inc/modules/pre-orders/admin/options.php:322, inc/modules/spending-goal/admin/options.php:237, inc/modules/storewide-sale/admin/options.php:269, inc/modules/volume-discounts/admin/options.php:341
     4107msgid "Exclude Roles"
     4108msgstr ""
     4109
     4110#: inc/modules/buy-x-get-y/admin/options.php:302, inc/modules/complementary-products/admin/options.php:323, inc/modules/free-gifts/admin/options.php:267, inc/modules/free-shipping-progress-bar/admin/options.php:154, inc/modules/frequently-bought-together/admin/options.php:358, inc/modules/pre-orders/admin/options.php:323, inc/modules/spending-goal/admin/options.php:238, inc/modules/storewide-sale/admin/options.php:270, inc/modules/volume-discounts/admin/options.php:342
     4111msgid "This will exclude the offer for users with these roles."
     4112msgstr ""
     4113
     4114#: inc/modules/buy-x-get-y/admin/options.php:327, inc/modules/complementary-products/admin/options.php:348, inc/modules/free-gifts/admin/options.php:292, inc/modules/free-shipping-progress-bar/admin/options.php:179, inc/modules/frequently-bought-together/admin/options.php:383, inc/modules/pre-orders/admin/options.php:348, inc/modules/spending-goal/admin/options.php:212, inc/modules/storewide-sale/admin/options.php:295, inc/modules/volume-discounts/admin/options.php:367
    40994115msgid "Exclude Users"
    41004116msgstr ""
    41014117
    4102 #: inc/modules/buy-x-get-y/admin/options.php:302, inc/modules/complementary-products/admin/options.php:323, inc/modules/free-gifts/admin/options.php:267, inc/modules/free-shipping-progress-bar/admin/options.php:154, inc/modules/frequently-bought-together/admin/options.php:358, inc/modules/pre-orders/admin/options.php:323, inc/modules/spending-goal/admin/options.php:213, inc/modules/storewide-sale/admin/options.php:270, inc/modules/volume-discounts/admin/options.php:342
     4118#: inc/modules/buy-x-get-y/admin/options.php:328, inc/modules/complementary-products/admin/options.php:349, inc/modules/free-gifts/admin/options.php:293, inc/modules/free-shipping-progress-bar/admin/options.php:180, inc/modules/frequently-bought-together/admin/options.php:384, inc/modules/pre-orders/admin/options.php:349, inc/modules/spending-goal/admin/options.php:213, inc/modules/storewide-sale/admin/options.php:296, inc/modules/volume-discounts/admin/options.php:368
    41034119msgid "This will exclude the offer for the selected customers."
    41044120msgstr ""
    41054121
    4106 #: inc/modules/buy-x-get-y/admin/options.php:326, inc/modules/complementary-products/admin/options.php:347, inc/modules/frequently-bought-together/admin/options.php:382, inc/modules/volume-discounts/admin/options.php:366
     4122#: inc/modules/buy-x-get-y/admin/options.php:352, inc/modules/complementary-products/admin/options.php:373, inc/modules/frequently-bought-together/admin/options.php:408, inc/modules/volume-discounts/admin/options.php:392
    41074123msgid "Product Single Page"
    41084124msgstr ""
    41094125
    4110 #: inc/modules/buy-x-get-y/admin/options.php:327, inc/modules/volume-discounts/admin/options.php:367
     4126#: inc/modules/buy-x-get-y/admin/options.php:353, inc/modules/volume-discounts/admin/options.php:393
    41114127msgid "Use these settings to control how bulk discount offers appear on product pages."
    41124128msgstr ""
    41134129
    4114 #: inc/modules/buy-x-get-y/admin/options.php:336, inc/modules/complementary-products/admin/options.php:358, inc/modules/frequently-bought-together/admin/options.php:393, inc/modules/reasons-to-buy/admin/options.php:204, inc/modules/volume-discounts/admin/options.php:376
     4130#: inc/modules/buy-x-get-y/admin/options.php:362, inc/modules/complementary-products/admin/options.php:384, inc/modules/frequently-bought-together/admin/options.php:419, inc/modules/reasons-to-buy/admin/options.php:204, inc/modules/volume-discounts/admin/options.php:402
    41154131msgid "Placement on product page"
    41164132msgstr ""
    41174133
    4118 #: inc/modules/buy-x-get-y/admin/options.php:338, inc/modules/volume-discounts/admin/options.php:379
     4134#: inc/modules/buy-x-get-y/admin/options.php:364, inc/modules/volume-discounts/admin/options.php:405
    41194135msgid "After add to cart"
    41204136msgstr ""
    41214137
    4122 #: inc/modules/buy-x-get-y/admin/options.php:339, inc/modules/volume-discounts/admin/options.php:378
     4138#: inc/modules/buy-x-get-y/admin/options.php:365, inc/modules/volume-discounts/admin/options.php:404
    41234139msgid "Before add to cart"
    41244140msgstr ""
    41254141
    4126 #: inc/modules/buy-x-get-y/admin/options.php:348, inc/modules/buy-x-get-y/admin/options.php:485, inc/modules/buy-x-get-y/admin/options.php:549, inc/modules/buy-x-get-y/admin/options.php:598, inc/modules/complementary-products/admin/options.php:371, inc/modules/complementary-products/admin/options.php:455, inc/modules/frequently-bought-together/admin/options.php:597, inc/modules/volume-discounts/admin/options.php:388, inc/modules/volume-discounts/admin/options.php:568, inc/modules/volume-discounts/admin/options.php:617, inc/modules/volume-discounts/admin/options.php:668
     4142#: inc/modules/buy-x-get-y/admin/options.php:374, inc/modules/buy-x-get-y/admin/options.php:511, inc/modules/buy-x-get-y/admin/options.php:575, inc/modules/buy-x-get-y/admin/options.php:624, inc/modules/complementary-products/admin/options.php:397, inc/modules/complementary-products/admin/options.php:481, inc/modules/frequently-bought-together/admin/options.php:623, inc/modules/volume-discounts/admin/options.php:414, inc/modules/volume-discounts/admin/options.php:594, inc/modules/volume-discounts/admin/options.php:643, inc/modules/volume-discounts/admin/options.php:694
    41274143msgid "Offer title"
    41284144msgstr ""
    41294145
    4130 #: inc/modules/buy-x-get-y/admin/options.php:355
     4146#: inc/modules/buy-x-get-y/admin/options.php:381
    41314147msgid "Buy label"
    41324148msgstr ""
    41334149
    4134 #: inc/modules/buy-x-get-y/admin/options.php:356
     4150#: inc/modules/buy-x-get-y/admin/options.php:382
    41354151msgid "Buy {quantity}"
    41364152msgstr ""
    41374153
    41384154#. translators: %1$s: bogo offered product quantity
    4139 #: inc/modules/buy-x-get-y/admin/options.php:360, inc/modules/buy-x-get-y/admin/options.php:490
     4155#: inc/modules/buy-x-get-y/admin/options.php:386, inc/modules/buy-x-get-y/admin/options.php:516
    41404156msgid "<strong>%1$s:</strong> to show offered product quantity"
    41414157msgstr ""
    41424158
    4143 #: inc/modules/buy-x-get-y/admin/options.php:371
     4159#: inc/modules/buy-x-get-y/admin/options.php:397
    41444160msgid "Get label"
    41454161msgstr ""
    41464162
    4147 #: inc/modules/buy-x-get-y/admin/options.php:372
     4163#: inc/modules/buy-x-get-y/admin/options.php:398
    41484164msgid "Get {quantity} with {discount} off"
    41494165msgstr ""
    41504166
    41514167#. translators: %1$s: bogo offered product quantity, %2$s: bogo offer discount
    4152 #: inc/modules/buy-x-get-y/admin/options.php:376
     4168#: inc/modules/buy-x-get-y/admin/options.php:402
    41534169msgid "<strong>%1$s:</strong> to show offered product quantity<br><strong>%2$s:</strong> to show offer discount"
    41544170msgstr ""
    41554171
    4156 #: inc/modules/buy-x-get-y/admin/options.php:396
     4172#: inc/modules/buy-x-get-y/admin/options.php:422
    41574173msgid "Font weight"
    41584174msgstr ""
    41594175
    4160 #: inc/modules/buy-x-get-y/admin/options.php:398, inc/modules/stock-scarcity/admin/options.php:156, inc/modules/volume-discounts/admin/options.php:476
     4176#: inc/modules/buy-x-get-y/admin/options.php:424, inc/modules/stock-scarcity/admin/options.php:156, inc/modules/volume-discounts/admin/options.php:502
    41614177msgid "Light"
    41624178msgstr ""
    41634179
    4164 #: inc/modules/buy-x-get-y/admin/options.php:399, inc/modules/product-labels/admin/options.php:239, inc/modules/stock-scarcity/admin/options.php:157, inc/modules/volume-discounts/admin/options.php:477
     4180#: inc/modules/buy-x-get-y/admin/options.php:425, inc/modules/product-labels/admin/options.php:239, inc/modules/stock-scarcity/admin/options.php:157, inc/modules/volume-discounts/admin/options.php:503
    41654181msgid "Normal"
    41664182msgstr ""
    41674183
    4168 #: inc/modules/buy-x-get-y/admin/options.php:400, inc/modules/product-labels/admin/options.php:241, inc/modules/stock-scarcity/admin/options.php:158, inc/modules/volume-discounts/admin/options.php:478
     4184#: inc/modules/buy-x-get-y/admin/options.php:426, inc/modules/product-labels/admin/options.php:241, inc/modules/stock-scarcity/admin/options.php:158, inc/modules/volume-discounts/admin/options.php:504
    41694185msgid "Bold"
    41704186msgstr ""
    41714187
    4172 #: inc/modules/buy-x-get-y/admin/options.php:419, inc/modules/size-chart/admin/options.php:74, inc/modules/volume-discounts/admin/options.php:486
     4188#: inc/modules/buy-x-get-y/admin/options.php:445, inc/modules/size-chart/admin/options.php:74, inc/modules/volume-discounts/admin/options.php:512
    41734189msgid "Title text color"
    41744190msgstr ""
    41754191
    4176 #: inc/modules/buy-x-get-y/admin/options.php:426, inc/modules/free-gifts/admin/options.php:599, inc/modules/volume-discounts/admin/options.php:542
     4192#: inc/modules/buy-x-get-y/admin/options.php:452, inc/modules/free-gifts/admin/options.php:625, inc/modules/volume-discounts/admin/options.php:568
    41774193msgid "Label background color"
    41784194msgstr ""
    41794195
    4180 #: inc/modules/buy-x-get-y/admin/options.php:433, inc/modules/free-gifts/admin/options.php:606, inc/modules/volume-discounts/admin/options.php:549
     4196#: inc/modules/buy-x-get-y/admin/options.php:459, inc/modules/free-gifts/admin/options.php:632, inc/modules/volume-discounts/admin/options.php:575
    41814197msgid "Label text color"
    41824198msgstr ""
    41834199
    4184 #: inc/modules/buy-x-get-y/admin/options.php:440
     4200#: inc/modules/buy-x-get-y/admin/options.php:466
    41854201msgid "Arrow background color"
    41864202msgstr ""
    41874203
    4188 #: inc/modules/buy-x-get-y/admin/options.php:447
     4204#: inc/modules/buy-x-get-y/admin/options.php:473
    41894205msgid "Arrow text color"
    41904206msgstr ""
    41914207
    4192 #: inc/modules/buy-x-get-y/admin/options.php:455
     4208#: inc/modules/buy-x-get-y/admin/options.php:481
    41934209msgid "Offer border color"
    41944210msgstr ""
    41954211
    4196 #: inc/modules/buy-x-get-y/admin/options.php:462
     4212#: inc/modules/buy-x-get-y/admin/options.php:488
    41974213msgid "Offer border Radius"
    41984214msgstr ""
    41994215
    4200 #: inc/modules/buy-x-get-y/admin/options.php:474, inc/modules/clear-cart/admin/options.php:107, inc/modules/complementary-products/admin/options.php:396, inc/modules/free-shipping-progress-bar/admin/options.php:697, inc/modules/frequently-bought-together/admin/options.php:509, inc/modules/volume-discounts/admin/options.php:557
     4216#: inc/modules/buy-x-get-y/admin/options.php:500, inc/modules/clear-cart/admin/options.php:107, inc/modules/complementary-products/admin/options.php:422, inc/modules/free-shipping-progress-bar/admin/options.php:723, inc/modules/frequently-bought-together/admin/options.php:535, inc/modules/volume-discounts/admin/options.php:583
    42014217msgid "Cart Page"
    42024218msgstr ""
    42034219
    4204 #: inc/modules/buy-x-get-y/admin/options.php:475, inc/modules/volume-discounts/admin/options.php:558
     4220#: inc/modules/buy-x-get-y/admin/options.php:501, inc/modules/volume-discounts/admin/options.php:584
    42054221msgid "Use these settings to control how bulk discount offers appear on the cart page."
    42064222msgstr ""
    42074223
    4208 #: inc/modules/buy-x-get-y/admin/options.php:486, inc/modules/buy-x-get-y/admin/options.php:550
     4224#: inc/modules/buy-x-get-y/admin/options.php:512, inc/modules/buy-x-get-y/admin/options.php:576
    42094225msgid "You are eligible to get {offer_quantity}x"
    42104226msgstr ""
    42114227
    4212 #: inc/modules/buy-x-get-y/admin/options.php:501, inc/modules/buy-x-get-y/admin/options.php:564, inc/modules/buy-x-get-y/admin/options.php:626, inc/modules/complementary-products/admin/options.php:530, inc/modules/frequently-bought-together/admin/options.php:603, inc/modules/frequently-bought-together/admin/options.php:665, inc/modules/volume-discounts/admin/options.php:633, inc/modules/volume-discounts/admin/options.php:697
     4228#: inc/modules/buy-x-get-y/admin/options.php:527, inc/modules/buy-x-get-y/admin/options.php:590, inc/modules/buy-x-get-y/admin/options.php:652, inc/modules/complementary-products/admin/options.php:556, inc/modules/frequently-bought-together/admin/options.php:629, inc/modules/frequently-bought-together/admin/options.php:691, inc/modules/volume-discounts/admin/options.php:659, inc/modules/volume-discounts/admin/options.php:723
    42134229msgid "Discount text"
    42144230msgstr ""
     
    42164232#. translators: %1$s: bogo Discount amount
    42174233#. translators: %1$s: Discount amount
    4218 #: inc/modules/buy-x-get-y/admin/options.php:506, inc/modules/buy-x-get-y/admin/options.php:569, inc/modules/buy-x-get-y/admin/options.php:631, inc/modules/frequently-bought-together/admin/options.php:441, inc/modules/frequently-bought-together/admin/options.php:539, inc/modules/frequently-bought-together/admin/options.php:642
     4234#: inc/modules/buy-x-get-y/admin/options.php:532, inc/modules/buy-x-get-y/admin/options.php:595, inc/modules/buy-x-get-y/admin/options.php:657, inc/modules/frequently-bought-together/admin/options.php:467, inc/modules/frequently-bought-together/admin/options.php:565, inc/modules/frequently-bought-together/admin/options.php:668
    42194235msgid "<strong>%1$s:</strong> to show discount amount"
    42204236msgstr ""
    42214237
    4222 #: inc/modules/buy-x-get-y/admin/options.php:525, inc/modules/complementary-products/admin/options.php:431, inc/modules/free-shipping-progress-bar/admin/options.php:806, inc/modules/frequently-bought-together/admin/options.php:573, inc/modules/volume-discounts/admin/options.php:593
     4238#: inc/modules/buy-x-get-y/admin/options.php:551, inc/modules/complementary-products/admin/options.php:457, inc/modules/free-shipping-progress-bar/admin/options.php:832, inc/modules/frequently-bought-together/admin/options.php:599, inc/modules/volume-discounts/admin/options.php:619
    42234239msgid "Checkout Page"
    42244240msgstr ""
    42254241
    4226 #: inc/modules/buy-x-get-y/admin/options.php:526
     4242#: inc/modules/buy-x-get-y/admin/options.php:552
    42274243msgid "Use these settings to control how Buy X get Y offers appear on the checkout page."
    42284244msgstr ""
    42294245
    4230 #: inc/modules/buy-x-get-y/admin/options.php:537, inc/modules/complementary-products/admin/options.php:443, inc/modules/frequently-bought-together/admin/options.php:585, inc/modules/volume-discounts/admin/options.php:605
     4246#: inc/modules/buy-x-get-y/admin/options.php:563, inc/modules/complementary-products/admin/options.php:469, inc/modules/frequently-bought-together/admin/options.php:611, inc/modules/volume-discounts/admin/options.php:631
    42314247msgid "Before Billing Details"
    42324248msgstr ""
    42334249
    4234 #: inc/modules/buy-x-get-y/admin/options.php:538, inc/modules/complementary-products/admin/options.php:444, inc/modules/frequently-bought-together/admin/options.php:586, inc/modules/volume-discounts/admin/options.php:606
     4250#: inc/modules/buy-x-get-y/admin/options.php:564, inc/modules/complementary-products/admin/options.php:470, inc/modules/frequently-bought-together/admin/options.php:612, inc/modules/volume-discounts/admin/options.php:632
    42354251msgid "After Billing Details"
    42364252msgstr ""
    42374253
    4238 #: inc/modules/buy-x-get-y/admin/options.php:539, inc/modules/complementary-products/admin/options.php:445, inc/modules/frequently-bought-together/admin/options.php:587, inc/modules/volume-discounts/admin/options.php:607
     4254#: inc/modules/buy-x-get-y/admin/options.php:565, inc/modules/complementary-products/admin/options.php:471, inc/modules/frequently-bought-together/admin/options.php:613, inc/modules/volume-discounts/admin/options.php:633
    42394255msgid "Before Order Details"
    42404256msgstr ""
    42414257
    4242 #: inc/modules/buy-x-get-y/admin/options.php:540, inc/modules/complementary-products/admin/options.php:446, inc/modules/frequently-bought-together/admin/options.php:588, inc/modules/volume-discounts/admin/options.php:608
     4258#: inc/modules/buy-x-get-y/admin/options.php:566, inc/modules/complementary-products/admin/options.php:472, inc/modules/frequently-bought-together/admin/options.php:614, inc/modules/volume-discounts/admin/options.php:634
    42434259msgid "Before Payment Gateways"
    42444260msgstr ""
    42454261
    4246 #: inc/modules/buy-x-get-y/admin/options.php:541, inc/modules/complementary-products/admin/options.php:447, inc/modules/frequently-bought-together/admin/options.php:589, inc/modules/volume-discounts/admin/options.php:609
     4262#: inc/modules/buy-x-get-y/admin/options.php:567, inc/modules/complementary-products/admin/options.php:473, inc/modules/frequently-bought-together/admin/options.php:615, inc/modules/volume-discounts/admin/options.php:635
    42474263msgid "Before Order Placement Button"
    42484264msgstr ""
    42494265
    4250 #: inc/modules/buy-x-get-y/admin/options.php:542, inc/modules/complementary-products/admin/options.php:448, inc/modules/frequently-bought-together/admin/options.php:590, inc/modules/volume-discounts/admin/options.php:610
     4266#: inc/modules/buy-x-get-y/admin/options.php:568, inc/modules/complementary-products/admin/options.php:474, inc/modules/frequently-bought-together/admin/options.php:616, inc/modules/volume-discounts/admin/options.php:636
    42514267msgid "After Order Placement Button"
    42524268msgstr ""
     
    42544270#. translators: %1$s: bogo offer quantity
    42554271#. translators: %1$s: bogo {offer_quantity} tag
    4256 #: inc/modules/buy-x-get-y/admin/options.php:554, inc/modules/buy-x-get-y/admin/options.php:603
     4272#: inc/modules/buy-x-get-y/admin/options.php:580, inc/modules/buy-x-get-y/admin/options.php:629
    42574273msgid "<strong>%1$s:</strong> to show offer quantity"
    42584274msgstr ""
    42594275
    4260 #: inc/modules/buy-x-get-y/admin/options.php:587, inc/modules/volume-discounts/admin/options.php:657
     4276#: inc/modules/buy-x-get-y/admin/options.php:613, inc/modules/volume-discounts/admin/options.php:683
    42614277msgid "Thank You Page"
    42624278msgstr ""
    42634279
    4264 #: inc/modules/buy-x-get-y/admin/options.php:588
     4280#: inc/modules/buy-x-get-y/admin/options.php:614
    42654281msgid "Use these settings to control how Buy X get Y offers appear on the thank you page."
    42664282msgstr ""
    42674283
    4268 #: inc/modules/buy-x-get-y/admin/options.php:599
     4284#: inc/modules/buy-x-get-y/admin/options.php:625
    42694285msgid "Last chance to get {offer_quantity}x"
    42704286msgstr ""
    42714287
    4272 #: inc/modules/buy-x-get-y/admin/options.php:616, inc/modules/complementary-products/admin/options.php:505, inc/modules/frequently-bought-together/admin/options.php:655, inc/modules/volume-discounts/admin/options.php:687
     4288#: inc/modules/buy-x-get-y/admin/options.php:642, inc/modules/complementary-products/admin/options.php:531, inc/modules/frequently-bought-together/admin/options.php:681, inc/modules/volume-discounts/admin/options.php:713
    42734289msgid "On Top"
    42744290msgstr ""
    42754291
    4276 #: inc/modules/buy-x-get-y/admin/options.php:617, inc/modules/complementary-products/admin/options.php:506, inc/modules/frequently-bought-together/admin/options.php:656, inc/modules/volume-discounts/admin/options.php:688
     4292#: inc/modules/buy-x-get-y/admin/options.php:643, inc/modules/complementary-products/admin/options.php:532, inc/modules/frequently-bought-together/admin/options.php:682, inc/modules/volume-discounts/admin/options.php:714
    42774293msgid "Before Order details"
    42784294msgstr ""
    42794295
    4280 #: inc/modules/buy-x-get-y/admin/options.php:618, inc/modules/complementary-products/admin/options.php:507, inc/modules/frequently-bought-together/admin/options.php:657, inc/modules/volume-discounts/admin/options.php:689
     4296#: inc/modules/buy-x-get-y/admin/options.php:644, inc/modules/complementary-products/admin/options.php:533, inc/modules/frequently-bought-together/admin/options.php:683, inc/modules/volume-discounts/admin/options.php:715
    42814297msgid "After Order details"
    42824298msgstr ""
    42834299
    4284 #: inc/modules/buy-x-get-y/admin/options.php:653
     4300#: inc/modules/buy-x-get-y/admin/options.php:679
    42854301msgid "Buy 1 Get 1"
    42864302msgstr ""
     
    43184334msgstr ""
    43194335
    4320 #: inc/modules/cart-count-favicon/admin/options.php:47, inc/modules/login-popup/admin/options.php:200, inc/modules/product-labels/admin/options.php:205, inc/modules/product-swatches/admin/options.php:92, inc/modules/product-swatches/admin/options.php:151, inc/modules/product-swatches/admin/options.php:409, inc/modules/product-swatches/admin/options.php:514, inc/modules/quick-social-links/admin/options.php:67, inc/modules/recent-sales-notifications/admin/options.php:645, inc/modules/scroll-to-top-button/admin/options.php:256, inc/modules/side-cart/admin/options.php:572, inc/modules/size-chart/admin/options.php:120, inc/modules/sticky-add-to-cart/admin/options.php:131, inc/modules/volume-discounts/admin/options.php:500
     4336#: inc/modules/cart-count-favicon/admin/options.php:47, inc/modules/login-popup/admin/options.php:200, inc/modules/product-labels/admin/options.php:205, inc/modules/product-swatches/admin/options.php:92, inc/modules/product-swatches/admin/options.php:151, inc/modules/product-swatches/admin/options.php:409, inc/modules/product-swatches/admin/options.php:514, inc/modules/quick-social-links/admin/options.php:67, inc/modules/recent-sales-notifications/admin/options.php:645, inc/modules/scroll-to-top-button/admin/options.php:256, inc/modules/side-cart/admin/options.php:572, inc/modules/size-chart/admin/options.php:120, inc/modules/sticky-add-to-cart/admin/options.php:131, inc/modules/volume-discounts/admin/options.php:526
    43214337msgid "Background color"
    43224338msgstr ""
    43234339
    4324 #: inc/modules/cart-count-favicon/admin/options.php:54, inc/modules/cookie-banner/admin/options.php:119, inc/modules/free-shipping-progress-bar/admin/options.php:966, inc/modules/login-popup/admin/options.php:130, inc/modules/payment-logos/admin/options.php:70, inc/modules/product-navigation-links/admin/options.php:93, inc/modules/product-swatches/admin/options.php:76, inc/modules/product-swatches/admin/options.php:133, inc/modules/product-swatches/admin/options.php:377, inc/modules/product-swatches/admin/options.php:478, inc/modules/scroll-to-top-button/admin/options.php:224, inc/modules/trust-badges/admin/options.php:82, inc/modules/volume-discounts/admin/options.php:528
     4340#: inc/modules/cart-count-favicon/admin/options.php:54, inc/modules/cookie-banner/admin/options.php:119, inc/modules/free-shipping-progress-bar/admin/options.php:992, inc/modules/login-popup/admin/options.php:130, inc/modules/payment-logos/admin/options.php:70, inc/modules/product-navigation-links/admin/options.php:93, inc/modules/product-swatches/admin/options.php:76, inc/modules/product-swatches/admin/options.php:133, inc/modules/product-swatches/admin/options.php:377, inc/modules/product-swatches/admin/options.php:478, inc/modules/scroll-to-top-button/admin/options.php:224, inc/modules/trust-badges/admin/options.php:82, inc/modules/volume-discounts/admin/options.php:554
    43254341msgid "Text color"
    43264342msgstr ""
     
    44074423msgstr ""
    44084424
    4409 #: inc/modules/cart-reserved-timer/admin/options.php:92, inc/modules/free-shipping-progress-bar/admin/options.php:989
     4425#: inc/modules/cart-reserved-timer/admin/options.php:92, inc/modules/free-shipping-progress-bar/admin/options.php:1015
    44104426msgid "Background Color"
    44114427msgstr ""
    44124428
    4413 #: inc/modules/checkout/admin/options.php:36, inc/modules/complementary-products/admin/options.php:577, inc/modules/quick-social-links/admin/options.php:21
     4429#: inc/modules/checkout/admin/options.php:36, inc/modules/complementary-products/admin/options.php:603, inc/modules/quick-social-links/admin/options.php:21
    44144430msgid "Layout"
    44154431msgstr ""
     
    44914507msgstr ""
    44924508
    4493 #: inc/modules/clear-cart/admin/options.php:114, inc/modules/clear-cart/admin/options.php:134, inc/modules/clear-cart/admin/options.php:156, inc/modules/free-gifts/admin/options.php:467, inc/modules/free-shipping-progress-bar/admin/options.php:194, inc/modules/free-shipping-progress-bar/admin/options.php:519, inc/modules/free-shipping-progress-bar/admin/options.php:617, inc/modules/free-shipping-progress-bar/admin/options.php:662, inc/modules/free-shipping-progress-bar/admin/options.php:765, inc/modules/free-shipping-progress-bar/admin/options.php:874, inc/modules/product-labels/admin/options.php:151, inc/modules/scroll-to-top-button/admin/options.php:64, inc/modules/side-cart/admin/options.php:516, inc/modules/sticky-add-to-cart/admin/options.php:23
     4509#: inc/modules/clear-cart/admin/options.php:114, inc/modules/clear-cart/admin/options.php:134, inc/modules/clear-cart/admin/options.php:156, inc/modules/free-gifts/admin/options.php:493, inc/modules/free-shipping-progress-bar/admin/options.php:220, inc/modules/free-shipping-progress-bar/admin/options.php:545, inc/modules/free-shipping-progress-bar/admin/options.php:643, inc/modules/free-shipping-progress-bar/admin/options.php:688, inc/modules/free-shipping-progress-bar/admin/options.php:791, inc/modules/free-shipping-progress-bar/admin/options.php:900, inc/modules/product-labels/admin/options.php:151, inc/modules/scroll-to-top-button/admin/options.php:64, inc/modules/side-cart/admin/options.php:516, inc/modules/sticky-add-to-cart/admin/options.php:23
    44944510msgid "Position"
    44954511msgstr ""
     
    45034519msgstr ""
    45044520
    4505 #: inc/modules/clear-cart/admin/options.php:118, inc/modules/free-shipping-progress-bar/admin/options.php:769
     4521#: inc/modules/clear-cart/admin/options.php:118, inc/modules/free-shipping-progress-bar/admin/options.php:795
    45064522msgid "After Cart Table"
    45074523msgstr ""
    45084524
    4509 #: inc/modules/clear-cart/admin/options.php:127, inc/modules/free-shipping-progress-bar/admin/options.php:606
     4525#: inc/modules/clear-cart/admin/options.php:127, inc/modules/free-shipping-progress-bar/admin/options.php:632
    45104526msgid "Mini Cart"
    45114527msgstr ""
     
    45354551msgstr ""
    45364552
    4537 #: inc/modules/clear-cart/admin/options.php:195, inc/modules/cookie-banner/admin/options.php:82, inc/modules/scroll-to-top-button/admin/options.php:147, inc/modules/spending-goal/admin/options.php:279, inc/modules/sticky-add-to-cart/admin/options.php:116, inc/modules/stock-scarcity/admin/options.php:127
     4553#: inc/modules/clear-cart/admin/options.php:195, inc/modules/cookie-banner/admin/options.php:82, inc/modules/scroll-to-top-button/admin/options.php:147, inc/modules/spending-goal/admin/options.php:305, inc/modules/sticky-add-to-cart/admin/options.php:116, inc/modules/stock-scarcity/admin/options.php:127
    45384554msgid "Style"
    45394555msgstr ""
     
    46514667msgstr ""
    46524668
    4653 #: inc/modules/complementary-products/admin/options.php:348
     4669#: inc/modules/complementary-products/admin/options.php:374
    46544670msgid "Use these settings to control how complementary product offers appear on product pages."
    46554671msgstr ""
    46564672
    4657 #: inc/modules/complementary-products/admin/options.php:360, inc/modules/quick-view/admin/options.php:409
     4673#: inc/modules/complementary-products/admin/options.php:386, inc/modules/quick-view/admin/options.php:409
    46584674msgid "Before Add to Cart"
    46594675msgstr ""
    46604676
    4661 #: inc/modules/complementary-products/admin/options.php:361, inc/modules/frequently-bought-together/admin/options.php:395
     4677#: inc/modules/complementary-products/admin/options.php:387, inc/modules/frequently-bought-together/admin/options.php:421
    46624678msgid "After Product Summary"
    46634679msgstr ""
    46644680
    4665 #: inc/modules/complementary-products/admin/options.php:362, inc/modules/frequently-bought-together/admin/options.php:396
     4681#: inc/modules/complementary-products/admin/options.php:388, inc/modules/frequently-bought-together/admin/options.php:422
    46664682msgid "After Product Tabs"
    46674683msgstr ""
    46684684
    4669 #: inc/modules/complementary-products/admin/options.php:373, inc/modules/complementary-products/admin/options.php:457
     4685#: inc/modules/complementary-products/admin/options.php:399, inc/modules/complementary-products/admin/options.php:483
    46704686msgid "Enter an optional title to show before the complementary products"
    46714687msgstr ""
    46724688
    4673 #: inc/modules/complementary-products/admin/options.php:380
     4689#: inc/modules/complementary-products/admin/options.php:406
    46744690msgid "Enter an optional description to display after the offer title."
    46754691msgstr ""
    46764692
    46774693#. translators: %1$s: Display the discount amount
    4678 #: inc/modules/complementary-products/admin/options.php:383, inc/modules/complementary-products/admin/options.php:412, inc/modules/complementary-products/admin/options.php:460, inc/modules/complementary-products/admin/options.php:474, inc/modules/complementary-products/admin/options.php:519, inc/modules/complementary-products/admin/options.php:535
     4694#: inc/modules/complementary-products/admin/options.php:409, inc/modules/complementary-products/admin/options.php:438, inc/modules/complementary-products/admin/options.php:486, inc/modules/complementary-products/admin/options.php:500, inc/modules/complementary-products/admin/options.php:545, inc/modules/complementary-products/admin/options.php:561
    46794695msgid "<strong>%1$s:</strong> Display the discount, only applies to percentage or fixed-amount discounts"
    46804696msgstr ""
    46814697
    4682 #: inc/modules/complementary-products/admin/options.php:398
     4698#: inc/modules/complementary-products/admin/options.php:424
    46834699msgid "Use these settings to control how complementary product offers appear on the cart page."
    46844700msgstr ""
    46854701
    4686 #: inc/modules/complementary-products/admin/options.php:407
     4702#: inc/modules/complementary-products/admin/options.php:433
    46874703msgid "Campaign title"
    46884704msgstr ""
    46894705
    4690 #: inc/modules/complementary-products/admin/options.php:409, inc/modules/complementary-products/admin/options.php:515
     4706#: inc/modules/complementary-products/admin/options.php:435, inc/modules/complementary-products/admin/options.php:541
    46914707msgid "Add discount title"
    46924708msgstr ""
    46934709
    4694 #: inc/modules/complementary-products/admin/options.php:432
     4710#: inc/modules/complementary-products/admin/options.php:458
    46954711msgid "Use these settings to control how complementary product offers appear on the checkout page."
    46964712msgstr ""
    46974713
    4698 #: inc/modules/complementary-products/admin/options.php:456
     4714#: inc/modules/complementary-products/admin/options.php:482
    46994715msgid "Recommended For You"
    47004716msgstr ""
    47014717
    4702 #: inc/modules/complementary-products/admin/options.php:471
     4718#: inc/modules/complementary-products/admin/options.php:497
    47034719msgid "Enter an optional campaign description"
    47044720msgstr ""
    47054721
    4706 #: inc/modules/complementary-products/admin/options.php:493, inc/modules/frequently-bought-together/admin/options.php:627
     4722#: inc/modules/complementary-products/admin/options.php:519, inc/modules/frequently-bought-together/admin/options.php:653
    47074723msgid "Thank you Page"
    47084724msgstr ""
    47094725
    4710 #: inc/modules/complementary-products/admin/options.php:495
     4726#: inc/modules/complementary-products/admin/options.php:521
    47114727msgid "Use these settings to control how complementary product offers appear on the thank you page."
    47124728msgstr ""
    47134729
    4714 #: inc/modules/complementary-products/admin/options.php:514, inc/modules/frequently-bought-together/admin/options.php:414, inc/modules/frequently-bought-together/admin/options.php:520, inc/modules/frequently-bought-together/admin/options.php:637
     4730#: inc/modules/complementary-products/admin/options.php:540, inc/modules/frequently-bought-together/admin/options.php:440, inc/modules/frequently-bought-together/admin/options.php:546, inc/modules/frequently-bought-together/admin/options.php:663
    47154731msgid "Bundle title"
    47164732msgstr ""
    47174733
    4718 #: inc/modules/complementary-products/admin/options.php:516, templates/modules/complementary-products/admin-preview/checkout.php:13, templates/modules/complementary-products/admin-preview/thank-you-page.php:27
     4734#: inc/modules/complementary-products/admin/options.php:542, templates/modules/complementary-products/admin-preview/checkout.php:13, templates/modules/complementary-products/admin-preview/thank-you-page.php:27
    47194735msgid "Last chance to get"
    47204736msgstr ""
    47214737
    4722 #: inc/modules/complementary-products/admin/options.php:531, templates/modules/complementary-products/admin-preview/thank-you-page.php:34
     4738#: inc/modules/complementary-products/admin/options.php:557, templates/modules/complementary-products/admin-preview/thank-you-page.php:34
    47234739msgid "With discount"
    47244740msgstr ""
    47254741
    4726 #: inc/modules/complementary-products/admin/options.php:532
     4742#: inc/modules/complementary-products/admin/options.php:558
    47274743msgid "Show the discount details on the product"
    47284744msgstr ""
    47294745
    4730 #: inc/modules/complementary-products/admin/options.php:579, inc/modules/countdown-timer/admin/options.php:172
     4746#: inc/modules/complementary-products/admin/options.php:605, inc/modules/countdown-timer/admin/options.php:172
    47314747msgid "Classic"
    47324748msgstr ""
    47334749
    4734 #: inc/modules/complementary-products/admin/options.php:580
     4750#: inc/modules/complementary-products/admin/options.php:606
    47354751msgid "Compact"
    47364752msgstr ""
    47374753
    4738 #: inc/modules/complementary-products/admin/options.php:582, inc/modules/side-cart/admin/options.php:455
     4754#: inc/modules/complementary-products/admin/options.php:608, inc/modules/side-cart/admin/options.php:455
    47394755msgid "Carousel"
    47404756msgstr ""
    47414757
    4742 #: inc/modules/complementary-products/admin/options.php:590
     4758#: inc/modules/complementary-products/admin/options.php:616
    47434759msgid "Checkbox style"
    47444760msgstr ""
    47454761
    4746 #: inc/modules/complementary-products/admin/options.php:592
     4762#: inc/modules/complementary-products/admin/options.php:618
    47474763msgid "Rounded"
    47484764msgstr ""
    47494765
    4750 #: inc/modules/complementary-products/admin/options.php:593
     4766#: inc/modules/complementary-products/admin/options.php:619
    47514767msgid "Square"
    47524768msgstr ""
    47534769
    4754 #: inc/modules/complementary-products/admin/options.php:601
     4770#: inc/modules/complementary-products/admin/options.php:627
    47554771msgid "Checkbox color"
    47564772msgstr ""
    47574773
    4758 #: inc/modules/complementary-products/admin/options.php:629
     4774#: inc/modules/complementary-products/admin/options.php:655
    47594775msgid "Image border color"
    47604776msgstr ""
    47614777
    4762 #: inc/modules/complementary-products/admin/options.php:636
     4778#: inc/modules/complementary-products/admin/options.php:662
    47634779msgid "Title heading"
    47644780msgstr ""
    47654781
    4766 #: inc/modules/complementary-products/admin/options.php:652
     4782#: inc/modules/complementary-products/admin/options.php:678
    47674783msgid "Description font size"
    47684784msgstr ""
    47694785
    4770 #: inc/modules/complementary-products/admin/options.php:686
     4786#: inc/modules/complementary-products/admin/options.php:712
    47714787msgid "Image border radius"
    47724788msgstr ""
     
    48404856msgstr ""
    48414857
    4842 #: inc/modules/countdown-timer/admin/options.php:34, inc/modules/countdown-timer/admin/options.php:42, inc/modules/pre-orders/admin/options.php:236, inc/modules/pre-orders/admin/options.php:249, inc/modules/pre-orders/admin/options.php:256, inc/modules/storewide-sale/admin/options.php:306, inc/modules/storewide-sale/admin/options.php:313
     4858#: inc/modules/countdown-timer/admin/options.php:34, inc/modules/countdown-timer/admin/options.php:42, inc/modules/pre-orders/admin/options.php:236, inc/modules/pre-orders/admin/options.php:249, inc/modules/pre-orders/admin/options.php:256, inc/modules/storewide-sale/admin/options.php:332, inc/modules/storewide-sale/admin/options.php:339
    48434859msgid "mm/dd/yy, --:-- --"
    48444860msgstr ""
     
    48534869msgstr ""
    48544870
    4855 #: inc/modules/countdown-timer/admin/options.php:49, inc/modules/pre-orders/admin/options.php:242, inc/modules/pre-orders/admin/options.php:262, inc/modules/storewide-sale/admin/options.php:323
     4871#: inc/modules/countdown-timer/admin/options.php:49, inc/modules/pre-orders/admin/options.php:242, inc/modules/pre-orders/admin/options.php:262, inc/modules/storewide-sale/admin/options.php:349
    48564872msgid "WordPress Settings"
    48574873msgstr ""
     
    50335049msgstr ""
    50345050
    5035 #: inc/modules/free-gifts/admin/options.php:291
     5051#: inc/modules/free-gifts/admin/options.php:317
    50365052msgid "Spending goal target"
    50375053msgstr ""
    50385054
    5039 #: inc/modules/free-gifts/admin/options.php:293
     5055#: inc/modules/free-gifts/admin/options.php:319
    50405056msgid "Configure the text for the gift offer across five phases. Personalize the text at each phase to maximize conversions."
    50415057msgstr ""
    50425058
    5043 #: inc/modules/free-gifts/admin/options.php:299
     5059#: inc/modules/free-gifts/admin/options.php:325
    50445060msgid "At 0%"
    50455061msgstr ""
    50465062
    50475063#. translators: 1. goal amount
    5048 #: inc/modules/free-gifts/admin/options.php:302
     5064#: inc/modules/free-gifts/admin/options.php:328
    50495065msgid "Spend %1$s to receive this gift!"
    50505066msgstr ""
    50515067
    5052 #: inc/modules/free-gifts/admin/options.php:310
     5068#: inc/modules/free-gifts/admin/options.php:336
    50535069msgid "Between 1 - 99%"
    50545070msgstr ""
    50555071
    50565072#. translators: 1. more amount
    5057 #: inc/modules/free-gifts/admin/options.php:313
     5073#: inc/modules/free-gifts/admin/options.php:339
    50585074msgid "Spend %1$s more to receive this gift!"
    50595075msgstr ""
    50605076
    5061 #: inc/modules/free-gifts/admin/options.php:321
     5077#: inc/modules/free-gifts/admin/options.php:347
    50625078msgid "At 100%"
    50635079msgstr ""
    50645080
    5065 #: inc/modules/free-gifts/admin/options.php:328
     5081#: inc/modules/free-gifts/admin/options.php:354
    50665082msgid "Reminder to claim the gift on the cart page"
    50675083msgstr ""
    50685084
    5069 #: inc/modules/free-gifts/admin/options.php:329
     5085#: inc/modules/free-gifts/admin/options.php:355
    50705086msgid "Don't forget to claim your free gift before checking out!"
    50715087msgstr ""
    50725088
    5073 #: inc/modules/free-gifts/admin/options.php:335
     5089#: inc/modules/free-gifts/admin/options.php:361
    50745090msgid "Gift claimed message"
    50755091msgstr ""
    50765092
    5077 #: inc/modules/free-gifts/admin/options.php:336
     5093#: inc/modules/free-gifts/admin/options.php:362
    50785094msgid "Your free gift has been added to your cart. Thank you for shopping with us!"
    50795095msgstr ""
    50805096
    5081 #: inc/modules/free-gifts/admin/options.php:341
     5097#: inc/modules/free-gifts/admin/options.php:367
    50825098msgid "Coupon Based"
    50835099msgstr ""
    50845100
    5085 #: inc/modules/free-gifts/admin/options.php:355
     5101#: inc/modules/free-gifts/admin/options.php:381
    50865102msgid "Select the product that the coupon will apply to."
    50875103msgstr ""
    50885104
    5089 #: inc/modules/free-gifts/admin/options.php:360
     5105#: inc/modules/free-gifts/admin/options.php:386
    50905106msgid "Select the coupon that will apply to this offer."
    50915107msgstr ""
    50925108
    5093 #: inc/modules/free-gifts/admin/options.php:366
     5109#: inc/modules/free-gifts/admin/options.php:392
    50945110msgid "The offer won’t appear in the Free-Gifts widget unless the associated coupon is entered."
    50955111msgstr ""
    50965112
    5097 #: inc/modules/free-gifts/admin/options.php:386
     5113#: inc/modules/free-gifts/admin/options.php:412
    50985114msgid "Cart Settings"
    50995115msgstr ""
    51005116
    5101 #: inc/modules/free-gifts/admin/options.php:391
     5117#: inc/modules/free-gifts/admin/options.php:417
    51025118msgid "Gift claim method"
    51035119msgstr ""
    51045120
    5105 #: inc/modules/free-gifts/admin/options.php:392
     5121#: inc/modules/free-gifts/admin/options.php:418
    51065122msgid "Select how customers receive free gifts. ‘Manual’ requires customers to click a claim button, while ‘Automatic’ adds the gift to their cart once they meet the spending threshold."
    51075123msgstr ""
    51085124
    5109 #: inc/modules/free-gifts/admin/options.php:394
     5125#: inc/modules/free-gifts/admin/options.php:420
    51105126msgid "Manual"
    51115127msgstr ""
    51125128
    5113 #: inc/modules/free-gifts/admin/options.php:395
     5129#: inc/modules/free-gifts/admin/options.php:421
    51145130msgid "Automatic"
    51155131msgstr ""
    51165132
    5117 #: inc/modules/free-gifts/admin/options.php:403
     5133#: inc/modules/free-gifts/admin/options.php:429
    51185134msgid "Gift based on spending type"
    51195135msgstr ""
    51205136
    5121 #: inc/modules/free-gifts/admin/options.php:404
     5137#: inc/modules/free-gifts/admin/options.php:430
    51225138msgid "Select the basis for the gift spending goal: ‘Cart Subtotal’ (excludes tax and shipping) or ‘Cart Total’ (includes tax and shipping)."
    51235139msgstr ""
    51245140
    5125 #: inc/modules/free-gifts/admin/options.php:406, inc/modules/spending-goal/admin/options.php:33
     5141#: inc/modules/free-gifts/admin/options.php:432, inc/modules/spending-goal/admin/options.php:33
    51265142msgid "Cart subtotal"
    51275143msgstr ""
    51285144
    5129 #: inc/modules/free-gifts/admin/options.php:415
     5145#: inc/modules/free-gifts/admin/options.php:441
    51305146msgid "Gift price label"
    51315147msgstr ""
    51325148
    5133 #: inc/modules/free-gifts/admin/options.php:422
     5149#: inc/modules/free-gifts/admin/options.php:448
    51345150msgid "Cart item title text"
    51355151msgstr ""
    51365152
    5137 #: inc/modules/free-gifts/admin/options.php:424, inc/modules/free-gifts/admin/options.php:432, inc/modules/volume-discounts/admin/options.php:442
     5153#: inc/modules/free-gifts/admin/options.php:450, inc/modules/free-gifts/admin/options.php:458, inc/modules/volume-discounts/admin/options.php:468
    51385154msgid "This is displayed on the cart page."
    51395155msgstr ""
    51405156
    5141 #: inc/modules/free-gifts/admin/options.php:430
     5157#: inc/modules/free-gifts/admin/options.php:456
    51425158msgid "Cart item description text"
    51435159msgstr ""
    51445160
    5145 #: inc/modules/free-gifts/admin/options.php:438
     5161#: inc/modules/free-gifts/admin/options.php:464
    51465162msgid "Tiered free gifts"
    51475163msgstr ""
    51485164
    5149 #: inc/modules/free-gifts/admin/options.php:439
     5165#: inc/modules/free-gifts/admin/options.php:465
    51505166msgid "Customers can claim one free gift per order. Selecting a new gift automatically replaces any previously chosen gift."
    51515167msgstr ""
    51525168
    5153 #: inc/modules/free-gifts/admin/options.php:447
     5169#: inc/modules/free-gifts/admin/options.php:473
    51545170msgid "Gift Widget"
    51555171msgstr ""
    51565172
    5157 #: inc/modules/free-gifts/admin/options.php:453
     5173#: inc/modules/free-gifts/admin/options.php:479
    51585174msgid "Widget icon"
    51595175msgstr ""
    51605176
    5161 #: inc/modules/free-gifts/admin/options.php:469, inc/modules/recent-sales-notifications/admin/options.php:498
     5177#: inc/modules/free-gifts/admin/options.php:495, inc/modules/recent-sales-notifications/admin/options.php:498
    51625178msgid "Top Right"
    51635179msgstr ""
    51645180
    5165 #: inc/modules/free-gifts/admin/options.php:470, inc/modules/recent-sales-notifications/admin/options.php:499
     5181#: inc/modules/free-gifts/admin/options.php:496, inc/modules/recent-sales-notifications/admin/options.php:499
    51665182msgid "Top Left"
    51675183msgstr ""
    51685184
    5169 #: inc/modules/free-gifts/admin/options.php:471, inc/modules/recent-sales-notifications/admin/options.php:500
     5185#: inc/modules/free-gifts/admin/options.php:497, inc/modules/recent-sales-notifications/admin/options.php:500
    51705186msgid "Bottom Right"
    51715187msgstr ""
    51725188
    5173 #: inc/modules/free-gifts/admin/options.php:472, inc/modules/recent-sales-notifications/admin/options.php:501
     5189#: inc/modules/free-gifts/admin/options.php:498, inc/modules/recent-sales-notifications/admin/options.php:501
    51745190msgid "Bottom Left"
    51755191msgstr ""
    51765192
    5177 #: inc/modules/free-gifts/admin/options.php:480
     5193#: inc/modules/free-gifts/admin/options.php:506
    51785194msgid "Distance"
    51795195msgstr ""
    51805196
    5181 #: inc/modules/free-gifts/admin/options.php:506
     5197#: inc/modules/free-gifts/admin/options.php:532
    51825198msgid "Product page"
    51835199msgstr ""
    51845200
    5185 #: inc/modules/free-gifts/admin/options.php:513
     5201#: inc/modules/free-gifts/admin/options.php:539
    51865202msgid "Cart page"
    51875203msgstr ""
    51885204
    5189 #: inc/modules/free-gifts/admin/options.php:527
     5205#: inc/modules/free-gifts/admin/options.php:553
    51905206msgid "Count background color"
    51915207msgstr ""
    51925208
    5193 #: inc/modules/free-gifts/admin/options.php:534
     5209#: inc/modules/free-gifts/admin/options.php:560
    51945210msgid "Count text color"
    51955211msgstr ""
    51965212
    5197 #: inc/modules/free-gifts/admin/options.php:541
     5213#: inc/modules/free-gifts/admin/options.php:567
    51985214msgid "Gift button background color"
    51995215msgstr ""
    52005216
    5201 #: inc/modules/free-gifts/admin/options.php:548
     5217#: inc/modules/free-gifts/admin/options.php:574
    52025218msgid "Gift button Hover background color"
    52035219msgstr ""
    52045220
    5205 #: inc/modules/free-gifts/admin/options.php:555
     5221#: inc/modules/free-gifts/admin/options.php:581
    52065222msgid "Gift button Icon color"
    52075223msgstr ""
    52085224
    5209 #: inc/modules/free-gifts/admin/options.php:562, inc/modules/free-gifts/admin/options.php:580, inc/modules/spending-goal/admin/options.php:306
     5225#: inc/modules/free-gifts/admin/options.php:588, inc/modules/free-gifts/admin/options.php:606, inc/modules/spending-goal/admin/options.php:332
    52105226msgid "Content width"
    52115227msgstr ""
    52125228
    5213 #: inc/modules/free-gifts/admin/options.php:573
     5229#: inc/modules/free-gifts/admin/options.php:599
    52145230msgid "Mobile width"
    52155231msgstr ""
    52165232
    5217 #: inc/modules/free-gifts/admin/options.php:592, inc/modules/side-cart/admin/options.php:643, inc/modules/spending-goal/admin/options.php:317
     5233#: inc/modules/free-gifts/admin/options.php:618, inc/modules/side-cart/admin/options.php:643, inc/modules/spending-goal/admin/options.php:343
    52185234msgid "Content background color"
    52195235msgstr ""
    52205236
    5221 #: inc/modules/free-gifts/admin/options.php:613
     5237#: inc/modules/free-gifts/admin/options.php:639
    52225238msgid "Product text color"
    52235239msgstr ""
    52245240
    5225 #: inc/modules/free-gifts/admin/options.php:620
     5241#: inc/modules/free-gifts/admin/options.php:646
    52265242msgid "Product hover text color"
    52275243msgstr ""
    52285244
    5229 #: inc/modules/free-gifts/admin/options.php:627
     5245#: inc/modules/free-gifts/admin/options.php:653
    52305246msgid "Product price text color"
    52315247msgstr ""
    52325248
    5233 #: inc/modules/free-gifts/admin/options.php:634
     5249#: inc/modules/free-gifts/admin/options.php:660
    52345250msgid "Gift price label color"
    52355251msgstr ""
     
    52815297msgstr ""
    52825298
    5283 #: inc/modules/free-shipping-progress-bar/admin/options.php:187
     5299#: inc/modules/free-shipping-progress-bar/admin/options.php:213
    52845300msgid "Top/Bottom Bar"
    52855301msgstr ""
    52865302
    5287 #: inc/modules/free-shipping-progress-bar/admin/options.php:196
     5303#: inc/modules/free-shipping-progress-bar/admin/options.php:222
    52885304msgid "Sticky (always visible)"
    52895305msgstr ""
    52905306
    5291 #: inc/modules/free-shipping-progress-bar/admin/options.php:197
     5307#: inc/modules/free-shipping-progress-bar/admin/options.php:223
    52925308msgid "Fixed (hidden on scroll)"
    52935309msgstr ""
    52945310
    5295 #: inc/modules/free-shipping-progress-bar/admin/options.php:216
     5311#: inc/modules/free-shipping-progress-bar/admin/options.php:242
    52965312msgid "Both Desktop & Mobile"
    52975313msgstr ""
    52985314
    5299 #: inc/modules/free-shipping-progress-bar/admin/options.php:217
     5315#: inc/modules/free-shipping-progress-bar/admin/options.php:243
    53005316msgid "Desktop Only"
    53015317msgstr ""
    53025318
    5303 #: inc/modules/free-shipping-progress-bar/admin/options.php:218
     5319#: inc/modules/free-shipping-progress-bar/admin/options.php:244
    53045320msgid "Mobile Only"
    53055321msgstr ""
    53065322
    5307 #: inc/modules/free-shipping-progress-bar/admin/options.php:235
     5323#: inc/modules/free-shipping-progress-bar/admin/options.php:261
    53085324msgid "Desktop Placement"
    53095325msgstr ""
    53105326
    5311 #: inc/modules/free-shipping-progress-bar/admin/options.php:237, inc/modules/free-shipping-progress-bar/admin/options.php:347, inc/modules/quick-view/admin/options.php:267, inc/modules/sticky-add-to-cart/admin/options.php:25
     5327#: inc/modules/free-shipping-progress-bar/admin/options.php:263, inc/modules/free-shipping-progress-bar/admin/options.php:373, inc/modules/quick-view/admin/options.php:267, inc/modules/sticky-add-to-cart/admin/options.php:25
    53125328msgid "Top"
    53135329msgstr ""
    53145330
    5315 #: inc/modules/free-shipping-progress-bar/admin/options.php:238, inc/modules/free-shipping-progress-bar/admin/options.php:348, inc/modules/quick-social-links/admin/options.php:25, inc/modules/quick-view/admin/options.php:268, inc/modules/sticky-add-to-cart/admin/options.php:26
     5331#: inc/modules/free-shipping-progress-bar/admin/options.php:264, inc/modules/free-shipping-progress-bar/admin/options.php:374, inc/modules/quick-social-links/admin/options.php:25, inc/modules/quick-view/admin/options.php:268, inc/modules/sticky-add-to-cart/admin/options.php:26
    53165332msgid "Bottom"
    53175333msgstr ""
    53185334
    5319 #: inc/modules/free-shipping-progress-bar/admin/options.php:292, inc/modules/free-shipping-progress-bar/admin/options.php:371
     5335#: inc/modules/free-shipping-progress-bar/admin/options.php:318, inc/modules/free-shipping-progress-bar/admin/options.php:397
    53205336msgid "Custom vertical offset"
    53215337msgstr ""
    53225338
    5323 #: inc/modules/free-shipping-progress-bar/admin/options.php:314, inc/modules/free-shipping-progress-bar/admin/options.php:393
     5339#: inc/modules/free-shipping-progress-bar/admin/options.php:340, inc/modules/free-shipping-progress-bar/admin/options.php:419
    53245340msgid "Offset"
    53255341msgstr ""
    53265342
    5327 #: inc/modules/free-shipping-progress-bar/admin/options.php:345
     5343#: inc/modules/free-shipping-progress-bar/admin/options.php:371
    53285344msgid "Mobile Placement"
    53295345msgstr ""
    53305346
    5331 #: inc/modules/free-shipping-progress-bar/admin/options.php:423
     5347#: inc/modules/free-shipping-progress-bar/admin/options.php:449
    53325348msgid "Close (x) Icon"
    53335349msgstr ""
    53345350
    5335 #: inc/modules/free-shipping-progress-bar/admin/options.php:441
     5351#: inc/modules/free-shipping-progress-bar/admin/options.php:467
    53365352msgid "Session Expiration Time"
    53375353msgstr ""
    53385354
    5339 #: inc/modules/free-shipping-progress-bar/admin/options.php:442
     5355#: inc/modules/free-shipping-progress-bar/admin/options.php:468
    53405356msgid "After this number of hours, the free shipping bar will show again, even if the user has closed it previously."
    53415357msgstr ""
    53425358
    5343 #: inc/modules/free-shipping-progress-bar/admin/options.php:462, inc/modules/free-shipping-progress-bar/admin/options.php:591, inc/modules/free-shipping-progress-bar/admin/options.php:636, inc/modules/free-shipping-progress-bar/admin/options.php:682, inc/modules/free-shipping-progress-bar/admin/options.php:791, inc/modules/free-shipping-progress-bar/admin/options.php:903
     5359#: inc/modules/free-shipping-progress-bar/admin/options.php:488, inc/modules/free-shipping-progress-bar/admin/options.php:617, inc/modules/free-shipping-progress-bar/admin/options.php:662, inc/modules/free-shipping-progress-bar/admin/options.php:708, inc/modules/free-shipping-progress-bar/admin/options.php:817, inc/modules/free-shipping-progress-bar/admin/options.php:929
    53445360msgid "Progress Bar"
    53455361msgstr ""
    53465362
    5347 #: inc/modules/free-shipping-progress-bar/admin/options.php:463
     5363#: inc/modules/free-shipping-progress-bar/admin/options.php:489
    53485364msgid "Enable Progress bar on top and bottom bar"
    53495365msgstr ""
    53505366
    5351 #: inc/modules/free-shipping-progress-bar/admin/options.php:478
     5367#: inc/modules/free-shipping-progress-bar/admin/options.php:504
    53525368msgid "Show on Shop Page"
    53535369msgstr ""
    53545370
    5355 #: inc/modules/free-shipping-progress-bar/admin/options.php:479
     5371#: inc/modules/free-shipping-progress-bar/admin/options.php:505
    53565372msgid "Show the bar on shop page"
    53575373msgstr ""
    53585374
    5359 #: inc/modules/free-shipping-progress-bar/admin/options.php:493
     5375#: inc/modules/free-shipping-progress-bar/admin/options.php:519
    53605376msgid "Single Product Page"
    53615377msgstr ""
    53625378
    5363 #: inc/modules/free-shipping-progress-bar/admin/options.php:498, inc/modules/free-shipping-progress-bar/admin/options.php:611, inc/modules/free-shipping-progress-bar/admin/options.php:656, inc/modules/free-shipping-progress-bar/admin/options.php:702, inc/modules/free-shipping-progress-bar/admin/options.php:811
     5379#: inc/modules/free-shipping-progress-bar/admin/options.php:524, inc/modules/free-shipping-progress-bar/admin/options.php:637, inc/modules/free-shipping-progress-bar/admin/options.php:682, inc/modules/free-shipping-progress-bar/admin/options.php:728, inc/modules/free-shipping-progress-bar/admin/options.php:837
    53645380msgid "Bar"
    53655381msgstr ""
    53665382
    5367 #: inc/modules/free-shipping-progress-bar/admin/options.php:504, inc/modules/free-shipping-progress-bar/admin/options.php:708, inc/modules/free-shipping-progress-bar/admin/options.php:817
     5383#: inc/modules/free-shipping-progress-bar/admin/options.php:530, inc/modules/free-shipping-progress-bar/admin/options.php:734, inc/modules/free-shipping-progress-bar/admin/options.php:843
    53685384msgid "Use Shortcode"
    53695385msgstr ""
    53705386
    5371 #: inc/modules/free-shipping-progress-bar/admin/options.php:521
     5387#: inc/modules/free-shipping-progress-bar/admin/options.php:547
    53725388msgid "Before Add to Cart Form"
    53735389msgstr ""
    53745390
    5375 #: inc/modules/free-shipping-progress-bar/admin/options.php:522
     5391#: inc/modules/free-shipping-progress-bar/admin/options.php:548
    53765392msgid "After Add to Cart Quantity"
    53775393msgstr ""
    53785394
    5379 #: inc/modules/free-shipping-progress-bar/admin/options.php:523
     5395#: inc/modules/free-shipping-progress-bar/admin/options.php:549
    53805396msgid "After Add to Cart Form"
    53815397msgstr ""
    53825398
    5383 #: inc/modules/free-shipping-progress-bar/admin/options.php:524
     5399#: inc/modules/free-shipping-progress-bar/admin/options.php:550
    53845400msgid "After Single Product Summary"
    53855401msgstr ""
    53865402
    5387 #: inc/modules/free-shipping-progress-bar/admin/options.php:525
     5403#: inc/modules/free-shipping-progress-bar/admin/options.php:551
    53885404msgid "After Single Product"
    53895405msgstr ""
    53905406
    5391 #: inc/modules/free-shipping-progress-bar/admin/options.php:548
     5407#: inc/modules/free-shipping-progress-bar/admin/options.php:574
    53925408msgid "If you are using a page builder or a theme that supports shortcodes, then you can output the module using the shortcode above. This might be useful if, for example, you find that you want to control the position of the module output more precisely than with the module settings. Note that this shortcode can only be used on single product pages."
    53935409msgstr ""
    53945410
    5395 #: inc/modules/free-shipping-progress-bar/admin/options.php:592
     5411#: inc/modules/free-shipping-progress-bar/admin/options.php:618
    53965412msgid "Enable Progress bar on single product page"
    53975413msgstr ""
    53985414
    5399 #: inc/modules/free-shipping-progress-bar/admin/options.php:619, inc/modules/free-shipping-progress-bar/admin/options.php:664
     5415#: inc/modules/free-shipping-progress-bar/admin/options.php:645, inc/modules/free-shipping-progress-bar/admin/options.php:690
    54005416msgid "Before Cart Items"
    54015417msgstr ""
    54025418
    5403 #: inc/modules/free-shipping-progress-bar/admin/options.php:620
     5419#: inc/modules/free-shipping-progress-bar/admin/options.php:646
    54045420msgid "After Subtotal"
    54055421msgstr ""
    54065422
    5407 #: inc/modules/free-shipping-progress-bar/admin/options.php:637
     5423#: inc/modules/free-shipping-progress-bar/admin/options.php:663
    54085424msgid "Enable Progress bar on mini cart"
    54095425msgstr ""
    54105426
    5411 #: inc/modules/free-shipping-progress-bar/admin/options.php:665
     5427#: inc/modules/free-shipping-progress-bar/admin/options.php:691
    54125428msgid "Before Cart Buttons"
    54135429msgstr ""
    54145430
    5415 #: inc/modules/free-shipping-progress-bar/admin/options.php:666
     5431#: inc/modules/free-shipping-progress-bar/admin/options.php:692
    54165432msgid "After Cart Buttons"
    54175433msgstr ""
    54185434
    5419 #: inc/modules/free-shipping-progress-bar/admin/options.php:683
     5435#: inc/modules/free-shipping-progress-bar/admin/options.php:709
    54205436msgid "Enable Progress bar on side cart"
    54215437msgstr ""
    54225438
    5423 #: inc/modules/free-shipping-progress-bar/admin/options.php:723
     5439#: inc/modules/free-shipping-progress-bar/admin/options.php:749
    54245440msgid "If you are using a page builder or a theme that supports shortcodes, then you can output the module using the shortcode above. This might be useful if, for example, you find that you want to control the position of the module output more precisely than with the module settings. Note that this shortcode can only be used on cart page."
    54255441msgstr ""
    54265442
    5427 #: inc/modules/free-shipping-progress-bar/admin/options.php:767
     5443#: inc/modules/free-shipping-progress-bar/admin/options.php:793
    54285444msgid "Before Cart"
    54295445msgstr ""
    54305446
    5431 #: inc/modules/free-shipping-progress-bar/admin/options.php:768
     5447#: inc/modules/free-shipping-progress-bar/admin/options.php:794
    54325448msgid "After Order Total"
    54335449msgstr ""
    54345450
    5435 #: inc/modules/free-shipping-progress-bar/admin/options.php:792
     5451#: inc/modules/free-shipping-progress-bar/admin/options.php:818
    54365452msgid "Enable Progress bar on cart page"
    54375453msgstr ""
    54385454
    5439 #: inc/modules/free-shipping-progress-bar/admin/options.php:832
     5455#: inc/modules/free-shipping-progress-bar/admin/options.php:858
    54405456msgid "If you are using a page builder or a theme that supports shortcodes, then you can output the module using the shortcode above. This might be useful if, for example, you find that you want to control the position of the module output more precisely than with the module settings. Note that this shortcode can only be used on checkout page."
    54415457msgstr ""
    54425458
    5443 #: inc/modules/free-shipping-progress-bar/admin/options.php:876
     5459#: inc/modules/free-shipping-progress-bar/admin/options.php:902
    54445460msgid "Before Checkout Form"
    54455461msgstr ""
    54465462
    5447 #: inc/modules/free-shipping-progress-bar/admin/options.php:877
     5463#: inc/modules/free-shipping-progress-bar/admin/options.php:903
    54485464msgid "Checkout Billing"
    54495465msgstr ""
    54505466
    5451 #: inc/modules/free-shipping-progress-bar/admin/options.php:878
     5467#: inc/modules/free-shipping-progress-bar/admin/options.php:904
    54525468msgid "Checkout Shipping"
    54535469msgstr ""
    54545470
    5455 #: inc/modules/free-shipping-progress-bar/admin/options.php:879
     5471#: inc/modules/free-shipping-progress-bar/admin/options.php:905
    54565472msgid "Before Payment"
    54575473msgstr ""
    54585474
    5459 #: inc/modules/free-shipping-progress-bar/admin/options.php:880
     5475#: inc/modules/free-shipping-progress-bar/admin/options.php:906
    54605476msgid "After Payment"
    54615477msgstr ""
    54625478
    5463 #: inc/modules/free-shipping-progress-bar/admin/options.php:881
     5479#: inc/modules/free-shipping-progress-bar/admin/options.php:907
    54645480msgid "After Checkout Form"
    54655481msgstr ""
    54665482
    5467 #: inc/modules/free-shipping-progress-bar/admin/options.php:904
     5483#: inc/modules/free-shipping-progress-bar/admin/options.php:930
    54685484msgid "Enable Progress bar on checkout page"
    54695485msgstr ""
    54705486
    5471 #: inc/modules/free-shipping-progress-bar/admin/options.php:929, inc/modules/recent-sales-notifications/admin/options.php:571
     5487#: inc/modules/free-shipping-progress-bar/admin/options.php:955, inc/modules/recent-sales-notifications/admin/options.php:571
    54725488msgid "Template"
    54735489msgstr ""
    54745490
    5475 #: inc/modules/free-shipping-progress-bar/admin/options.php:931
     5491#: inc/modules/free-shipping-progress-bar/admin/options.php:957
    54765492msgid "Custom style"
    54775493msgstr ""
    54785494
    5479 #: inc/modules/free-shipping-progress-bar/admin/options.php:932
     5495#: inc/modules/free-shipping-progress-bar/admin/options.php:958
    54805496msgid "Solar Night"
    54815497msgstr ""
    54825498
    5483 #: inc/modules/free-shipping-progress-bar/admin/options.php:933
     5499#: inc/modules/free-shipping-progress-bar/admin/options.php:959
    54845500msgid "Lively Breeze"
    54855501msgstr ""
    54865502
    5487 #: inc/modules/free-shipping-progress-bar/admin/options.php:934
     5503#: inc/modules/free-shipping-progress-bar/admin/options.php:960
    54885504msgid "Midnight Tide"
    54895505msgstr ""
    54905506
    5491 #: inc/modules/free-shipping-progress-bar/admin/options.php:935
     5507#: inc/modules/free-shipping-progress-bar/admin/options.php:961
    54925508msgid "Clean Slate"
    54935509msgstr ""
    54945510
    5495 #: inc/modules/free-shipping-progress-bar/admin/options.php:936
     5511#: inc/modules/free-shipping-progress-bar/admin/options.php:962
    54965512msgid "Fresh Frost"
    54975513msgstr ""
    54985514
    5499 #: inc/modules/free-shipping-progress-bar/admin/options.php:937
     5515#: inc/modules/free-shipping-progress-bar/admin/options.php:963
    55005516msgid "Sky Harmony"
    55015517msgstr ""
    55025518
    5503 #: inc/modules/free-shipping-progress-bar/admin/options.php:938
     5519#: inc/modules/free-shipping-progress-bar/admin/options.php:964
    55045520msgid "Ocean Breeze"
    55055521msgstr ""
    55065522
    5507 #: inc/modules/free-shipping-progress-bar/admin/options.php:945
     5523#: inc/modules/free-shipping-progress-bar/admin/options.php:971
    55085524msgid "Close (x) Icon color"
    55095525msgstr ""
    55105526
    5511 #: inc/modules/free-shipping-progress-bar/admin/options.php:973
     5527#: inc/modules/free-shipping-progress-bar/admin/options.php:999
    55125528msgid "Variable Text color"
    55135529msgstr ""
    55145530
    5515 #: inc/modules/free-shipping-progress-bar/admin/options.php:984
     5531#: inc/modules/free-shipping-progress-bar/admin/options.php:1010
    55165532msgid "Font Size"
    55175533msgstr ""
    55185534
    5519 #: inc/modules/free-shipping-progress-bar/admin/options.php:1000
     5535#: inc/modules/free-shipping-progress-bar/admin/options.php:1026
    55205536msgid "Spacing Inside Top"
    55215537msgstr ""
    55225538
    5523 #: inc/modules/free-shipping-progress-bar/admin/options.php:1010
     5539#: inc/modules/free-shipping-progress-bar/admin/options.php:1036
    55245540msgid "Spacing Inside Bottom"
    55255541msgstr ""
    55265542
    5527 #: inc/modules/free-shipping-progress-bar/admin/options.php:1020
     5543#: inc/modules/free-shipping-progress-bar/admin/options.php:1046
    55285544msgid "Spacing Inside Right"
    55295545msgstr ""
    55305546
    5531 #: inc/modules/free-shipping-progress-bar/admin/options.php:1030
     5547#: inc/modules/free-shipping-progress-bar/admin/options.php:1056
    55325548msgid "Spacing Inside Left"
    55335549msgstr ""
    55345550
    5535 #: inc/modules/free-shipping-progress-bar/admin/options.php:1040
     5551#: inc/modules/free-shipping-progress-bar/admin/options.php:1066
    55365552msgid "Text Bottom Spacing"
    55375553msgstr ""
    55385554
    5539 #: inc/modules/free-shipping-progress-bar/admin/options.php:1050, inc/modules/free-shipping-progress-bar/admin/options.php:1108
     5555#: inc/modules/free-shipping-progress-bar/admin/options.php:1076, inc/modules/free-shipping-progress-bar/admin/options.php:1134
    55405556msgid "Corner Radius"
    55415557msgstr ""
    55425558
    5543 #: inc/modules/free-shipping-progress-bar/admin/options.php:1060
     5559#: inc/modules/free-shipping-progress-bar/admin/options.php:1086
    55445560msgid "Border Size"
    55455561msgstr ""
    55465562
    5547 #: inc/modules/free-shipping-progress-bar/admin/options.php:1065
     5563#: inc/modules/free-shipping-progress-bar/admin/options.php:1091
    55485564msgid "Border Color"
    55495565msgstr ""
    55505566
    5551 #: inc/modules/free-shipping-progress-bar/admin/options.php:1071
     5567#: inc/modules/free-shipping-progress-bar/admin/options.php:1097
    55525568msgid "Progress Bar Background Color"
    55535569msgstr ""
    55545570
    5555 #: inc/modules/free-shipping-progress-bar/admin/options.php:1077
     5571#: inc/modules/free-shipping-progress-bar/admin/options.php:1103
    55565572msgid "Progress Bar Foreground Color"
    55575573msgstr ""
    55585574
    5559 #: inc/modules/free-shipping-progress-bar/admin/options.php:1088
     5575#: inc/modules/free-shipping-progress-bar/admin/options.php:1114
    55605576msgid "Progress Bar Height"
    55615577msgstr ""
    55625578
    5563 #: inc/modules/free-shipping-progress-bar/admin/options.php:1098
     5579#: inc/modules/free-shipping-progress-bar/admin/options.php:1124
    55645580msgid "Progress Bar Width"
    55655581msgstr ""
     
    56305646
    56315647#: inc/modules/frequently-bought-together/admin/options.php:239
    5632 msgid "Offer the products as an optional add-on, giving customers customize their purchase"
     5648msgid "Offer the products using checkboxes, so shoppers can choose what to buy"
    56335649msgstr ""
    56345650
     
    56375653msgstr ""
    56385654
    5639 #: inc/modules/frequently-bought-together/admin/options.php:383
     5655#: inc/modules/frequently-bought-together/admin/options.php:340
     5656msgid "Exclude specific users from seeing the offer"
     5657msgstr ""
     5658
     5659#: inc/modules/frequently-bought-together/admin/options.php:409
    56405660msgid "Use these settings to control how frequently bought together offers appear on product pages."
    56415661msgstr ""
    56425662
    5643 #: inc/modules/frequently-bought-together/admin/options.php:397
     5663#: inc/modules/frequently-bought-together/admin/options.php:423
    56445664msgid "At the Bottom"
    56455665msgstr ""
    56465666
    5647 #: inc/modules/frequently-bought-together/admin/options.php:421
     5667#: inc/modules/frequently-bought-together/admin/options.php:447
    56485668msgid "Price label"
    56495669msgstr ""
    56505670
    5651 #: inc/modules/frequently-bought-together/admin/options.php:428
     5671#: inc/modules/frequently-bought-together/admin/options.php:454
    56525672msgid "Price label for one selected product"
    56535673msgstr ""
    56545674
    5655 #: inc/modules/frequently-bought-together/admin/options.php:429, inc/modules/real-time-search/admin/options.php:61
     5675#: inc/modules/frequently-bought-together/admin/options.php:455, inc/modules/real-time-search/admin/options.php:61
    56565676msgid "Product price"
    56575677msgstr ""
    56585678
    5659 #: inc/modules/frequently-bought-together/admin/options.php:430
     5679#: inc/modules/frequently-bought-together/admin/options.php:456
    56605680msgid "Price label when only one product selected"
    56615681msgstr ""
    56625682
    5663 #: inc/modules/frequently-bought-together/admin/options.php:436
     5683#: inc/modules/frequently-bought-together/admin/options.php:462
    56645684msgid "You save label"
    56655685msgstr ""
    56665686
    5667 #: inc/modules/frequently-bought-together/admin/options.php:437
     5687#: inc/modules/frequently-bought-together/admin/options.php:463
    56685688msgid "You save: {amount}"
    56695689msgstr ""
    56705690
    5671 #: inc/modules/frequently-bought-together/admin/options.php:452
     5691#: inc/modules/frequently-bought-together/admin/options.php:478
    56725692msgid "No variation selected text"
    56735693msgstr ""
    56745694
    5675 #: inc/modules/frequently-bought-together/admin/options.php:459
     5695#: inc/modules/frequently-bought-together/admin/options.php:485
    56765696msgid "No variation selected text (no discount)"
    56775697msgstr ""
    56785698
    5679 #: inc/modules/frequently-bought-together/admin/options.php:460
     5699#: inc/modules/frequently-bought-together/admin/options.php:486
    56805700msgid "This text will be displayed when the bundle has no discount and includes a variable product."
    56815701msgstr ""
    56825702
    5683 #: inc/modules/frequently-bought-together/admin/options.php:475
     5703#: inc/modules/frequently-bought-together/admin/options.php:501
    56845704msgid "Plus sign background color"
    56855705msgstr ""
    56865706
    5687 #: inc/modules/frequently-bought-together/admin/options.php:482
     5707#: inc/modules/frequently-bought-together/admin/options.php:508
    56885708msgid "Plus sign text color"
    56895709msgstr ""
    56905710
    5691 #: inc/modules/frequently-bought-together/admin/options.php:489
     5711#: inc/modules/frequently-bought-together/admin/options.php:515
    56925712msgid "Bundle border color"
    56935713msgstr ""
    56945714
    5695 #: inc/modules/frequently-bought-together/admin/options.php:496
     5715#: inc/modules/frequently-bought-together/admin/options.php:522
    56965716msgid "Bundle border radius"
    56975717msgstr ""
    56985718
    5699 #: inc/modules/frequently-bought-together/admin/options.php:511
     5719#: inc/modules/frequently-bought-together/admin/options.php:537
    57005720msgid "Use these settings to control how frequently bought together offers appear on the cart page."
    57015721msgstr ""
    57025722
    5703 #: inc/modules/frequently-bought-together/admin/options.php:534
     5723#: inc/modules/frequently-bought-together/admin/options.php:560
    57045724msgid "And save label"
    57055725msgstr ""
    57065726
    5707 #: inc/modules/frequently-bought-together/admin/options.php:535
     5727#: inc/modules/frequently-bought-together/admin/options.php:561
    57085728msgid "and save: {amount}"
    57095729msgstr ""
    57105730
    5711 #: inc/modules/frequently-bought-together/admin/options.php:574
     5731#: inc/modules/frequently-bought-together/admin/options.php:600
    57125732msgid "Use these settings to control how Frequently bought together offers appear on the checkout page."
    57135733msgstr ""
    57145734
    5715 #: inc/modules/frequently-bought-together/admin/options.php:598
     5735#: inc/modules/frequently-bought-together/admin/options.php:624
    57165736msgid "Bundle and Save!"
    57175737msgstr ""
    57185738
    5719 #: inc/modules/frequently-bought-together/admin/options.php:604
     5739#: inc/modules/frequently-bought-together/admin/options.php:630
    57205740msgid "Add to get {discount} off all items in your bundle ({fbt_products})."
    57215741msgstr ""
     
    57235743#. translators: %1$s: Discount amount, %2$s: FBT offer product names
    57245744#. translators: %1$s: Discount amount
    5725 #: inc/modules/frequently-bought-together/admin/options.php:608, inc/modules/frequently-bought-together/admin/options.php:670, inc/modules/frequently-bought-together/admin/options.php:687
     5745#: inc/modules/frequently-bought-together/admin/options.php:634, inc/modules/frequently-bought-together/admin/options.php:696, inc/modules/frequently-bought-together/admin/options.php:713
    57265746msgid "<strong>%1$s:</strong> to show discount amount<br><strong>%2$s:</strong> to show the product names in the offer"
    57275747msgstr ""
    57285748
    5729 #: inc/modules/frequently-bought-together/admin/options.php:629
     5749#: inc/modules/frequently-bought-together/admin/options.php:655
    57305750msgid "Use these settings to control how frequently bought together offers appear on the thank you page."
    57315751msgstr ""
    57325752
    5733 #: inc/modules/frequently-bought-together/admin/options.php:638
     5753#: inc/modules/frequently-bought-together/admin/options.php:664
    57345754msgid "Last chance to get {discount} off your bundle!"
    57355755msgstr ""
    57365756
    5737 #: inc/modules/frequently-bought-together/admin/options.php:666
     5757#: inc/modules/frequently-bought-together/admin/options.php:692
    57385758msgid "Add now to complete your bundle ({fbt_products}) and save"
    57395759msgstr ""
    57405760
    5741 #: inc/modules/frequently-bought-together/admin/options.php:681, inc/modules/volume-discounts/admin/options.php:714
     5761#: inc/modules/frequently-bought-together/admin/options.php:707, inc/modules/volume-discounts/admin/options.php:740
    57425762msgid "Bonus tip text"
    57435763msgstr ""
    57445764
    5745 #: inc/modules/frequently-bought-together/admin/options.php:682
     5765#: inc/modules/frequently-bought-together/admin/options.php:708
    57465766msgid "Note: When you click ‘Add to Cart’, the item will be added to your cart and you’ll be taken to the cart page where you’ll see that a bundle discount has been applied to it. This is shown under ‘Your Savings’, and reflects a {discount} discount based on the original prices of the {fbt_products}. You can then proceed to checkout as usual. "
    57475767msgstr ""
     
    59305950
    59315951#. translators: %1$s: Time zone, %2$s WordPress setting link
    5932 #: inc/modules/pre-orders/admin/options.php:259, inc/modules/storewide-sale/admin/options.php:320
     5952#: inc/modules/pre-orders/admin/options.php:259, inc/modules/storewide-sale/admin/options.php:346
    59335953msgid "Leave it empty if you don’t want to have an end date. The times set above are in the %1$s timezone, according to your settings from %2$s."
    59345954msgstr ""
     
    59425962msgstr ""
    59435963
    5944 #: inc/modules/pre-orders/admin/options.php:348
     5964#: inc/modules/pre-orders/admin/options.php:374
    59455965msgid "Pre-Order"
    59465966msgstr ""
    59475967
    5948 #: inc/modules/pre-orders/admin/options.php:354
     5968#: inc/modules/pre-orders/admin/options.php:380
    59495969msgid "Additional information"
    59505970msgstr ""
    59515971
    5952 #: inc/modules/pre-orders/admin/options.php:355
     5972#: inc/modules/pre-orders/admin/options.php:381
    59535973msgid "Ships on {date}"
    59545974msgstr ""
    59555975
    5956 #: inc/modules/pre-orders/admin/options.php:363
     5976#: inc/modules/pre-orders/admin/options.php:389
    59575977msgid "Before Button"
    59585978msgstr ""
    59595979
    5960 #: inc/modules/pre-orders/admin/options.php:364
     5980#: inc/modules/pre-orders/admin/options.php:390
    59615981msgid "After Button"
    59625982msgstr ""
    59635983
    5964 #: inc/modules/pre-orders/admin/options.php:371
     5984#: inc/modules/pre-orders/admin/options.php:397
    59655985msgid "Label text on cart"
    59665986msgstr ""
    59675987
    5968 #: inc/modules/pre-orders/admin/options.php:427
     5988#: inc/modules/pre-orders/admin/options.php:453
    59695989msgid "Pre-order Modes"
    59705990msgstr ""
    59715991
    5972 #: inc/modules/pre-orders/admin/options.php:429
     5992#: inc/modules/pre-orders/admin/options.php:455
    59735993msgid "Allow only pre-orders"
    59745994msgstr ""
    59755995
    5976 #: inc/modules/pre-orders/admin/options.php:430
     5996#: inc/modules/pre-orders/admin/options.php:456
    59775997msgid "Treat the whole order as pre-order"
    59785998msgstr ""
    59795999
    5980 #: inc/modules/pre-orders/admin/options.php:439
     6000#: inc/modules/pre-orders/admin/options.php:465
    59816001msgid "Use this mode if you want to only allow your customers to either choose pre-order products or available ones."
    59826002msgstr ""
    59836003
    5984 #: inc/modules/pre-orders/admin/options.php:453
     6004#: inc/modules/pre-orders/admin/options.php:479
    59856005msgid "Use this mode if you want to treat the whole order as a pre-order if at least one product is a pre-order."
    59866006msgstr ""
    59876007
    5988 #: inc/modules/pre-orders/admin/options.php:467
     6008#: inc/modules/pre-orders/admin/options.php:493
    59896009msgid "Use this mode if you want to generate separate orders for each pre-order product."
    59906010msgstr ""
    59916011
    5992 #: inc/modules/pre-orders/admin/options.php:481
     6012#: inc/modules/pre-orders/admin/options.php:507
    59936013msgid "Use this mode if you want to generate two separate orders, one for pre-orders and one for in-stock products."
    59946014msgstr ""
     
    74717491msgstr ""
    74727492
    7473 #: inc/modules/scroll-to-top-button/admin/options.php:232, inc/modules/volume-discounts/admin/options.php:535
     7493#: inc/modules/scroll-to-top-button/admin/options.php:232, inc/modules/volume-discounts/admin/options.php:561
    74747494msgid "Text color hover"
    74757495msgstr ""
    74767496
    7477 #: inc/modules/scroll-to-top-button/admin/options.php:248, inc/modules/volume-discounts/admin/options.php:521
     7497#: inc/modules/scroll-to-top-button/admin/options.php:248, inc/modules/volume-discounts/admin/options.php:547
    74787498msgid "Border color hover"
    74797499msgstr ""
    74807500
    7481 #: inc/modules/scroll-to-top-button/admin/options.php:264, inc/modules/volume-discounts/admin/options.php:507
     7501#: inc/modules/scroll-to-top-button/admin/options.php:264, inc/modules/volume-discounts/admin/options.php:533
    74827502msgid "Background color hover"
    74837503msgstr ""
     
    76797699msgstr ""
    76807700
    7681 #: inc/modules/side-cart/admin/options.php:636, inc/modules/spending-goal/admin/options.php:324
     7701#: inc/modules/side-cart/admin/options.php:636, inc/modules/spending-goal/admin/options.php:350
    76827702msgid "Content text color"
    76837703msgstr ""
     
    77167736msgstr ""
    77177737
    7718 #: inc/modules/size-chart/admin/options.php:81, inc/modules/volume-discounts/admin/options.php:493
     7738#: inc/modules/size-chart/admin/options.php:81, inc/modules/volume-discounts/admin/options.php:519
    77197739msgid "Title text color hover"
    77207740msgstr ""
     
    78247844msgstr ""
    78257845
    7826 #: inc/modules/spending-goal/admin/options.php:237
     7846#: inc/modules/spending-goal/admin/options.php:263
    78277847msgid "Enable Auto Slide In"
    78287848msgstr ""
    78297849
    7830 #: inc/modules/spending-goal/admin/options.php:238
     7850#: inc/modules/spending-goal/admin/options.php:264
    78317851msgid "This will make the widget slide in each time a product is added to the cart."
    78327852msgstr ""
    78337853
    7834 #: inc/modules/spending-goal/admin/options.php:246, inc/modules/stock-scarcity/admin/options.php:96
     7854#: inc/modules/spending-goal/admin/options.php:272, inc/modules/stock-scarcity/admin/options.php:96
    78357855msgid "Text Formatting Settings"
    78367856msgstr ""
    78377857
    7838 #: inc/modules/spending-goal/admin/options.php:253
     7858#: inc/modules/spending-goal/admin/options.php:279
    78397859msgid "When the goal target is at 0%"
    78407860msgstr ""
    78417861
    7842 #: inc/modules/spending-goal/admin/options.php:255
     7862#: inc/modules/spending-goal/admin/options.php:281
    78437863msgid "Default is: Spend {spending_goal} to get a {discount_amount} discount!"
    78447864msgstr ""
    78457865
    7846 #: inc/modules/spending-goal/admin/options.php:261
     7866#: inc/modules/spending-goal/admin/options.php:287
    78477867msgid "When the goal target is between 1-99%"
    78487868msgstr ""
    78497869
    7850 #: inc/modules/spending-goal/admin/options.php:263
     7870#: inc/modules/spending-goal/admin/options.php:289
    78517871msgid "Default is: Spend {spending_goal} more to get a {discount_amount} discount!"
    78527872msgstr ""
    78537873
    7854 #: inc/modules/spending-goal/admin/options.php:269
     7874#: inc/modules/spending-goal/admin/options.php:295
    78557875msgid "When the goal target is at 100%"
    78567876msgstr ""
    78577877
    7858 #: inc/modules/spending-goal/admin/options.php:271
     7878#: inc/modules/spending-goal/admin/options.php:297
    78597879msgid "Default: Congratulations! You got a discount of {discount_amount} on this order!"
    78607880msgstr ""
    78617881
    7862 #: inc/modules/spending-goal/admin/options.php:285
     7882#: inc/modules/spending-goal/admin/options.php:311
    78637883msgid "Gradient start"
    78647884msgstr ""
    78657885
    7866 #: inc/modules/spending-goal/admin/options.php:292
     7886#: inc/modules/spending-goal/admin/options.php:318
    78677887msgid "Gradient end"
    78687888msgstr ""
     
    79848004msgstr ""
    79858005
    7986 #: inc/modules/storewide-sale/admin/options.php:294
     8006#: inc/modules/storewide-sale/admin/options.php:320
    79878007msgid "Availability"
    79888008msgstr ""
    79898009
    7990 #: inc/modules/storewide-sale/admin/options.php:296
     8010#: inc/modules/storewide-sale/admin/options.php:322
    79918011msgid "Always available"
    79928012msgstr ""
    79938013
    7994 #: inc/modules/storewide-sale/admin/options.php:297
     8014#: inc/modules/storewide-sale/admin/options.php:323
    79958015msgid "Specific dates"
    79968016msgstr ""
    79978017
    7998 #: inc/modules/storewide-sale/admin/options.php:304
     8018#: inc/modules/storewide-sale/admin/options.php:330
    79998019msgid "Start at"
    80008020msgstr ""
    80018021
    8002 #: inc/modules/storewide-sale/admin/options.php:311
     8022#: inc/modules/storewide-sale/admin/options.php:337
    80038023msgid "Ends at"
    80048024msgstr ""
    80058025
    8006 #: inc/modules/storewide-sale/admin/options.php:343
     8026#: inc/modules/storewide-sale/admin/options.php:369
    80078027msgid "You can display a sale badge on products eligible for this discount by using Merchant’s Product Labels module."
    80088028msgstr ""
    80098029
    8010 #: inc/modules/storewide-sale/admin/options.php:344
     8030#: inc/modules/storewide-sale/admin/options.php:370
    80118031msgid "View Product Labels"
    80128032msgstr ""
     
    80528072msgstr ""
    80538073
    8054 #: inc/modules/volume-discounts/admin/options.php:396
     8074#: inc/modules/volume-discounts/admin/options.php:422
    80558075msgid "Save label"
    80568076msgstr ""
    80578077
    80588078#. translators: %1$s: Discount amount, %2$s: Discount percentage
    8059 #: inc/modules/volume-discounts/admin/options.php:401, inc/modules/volume-discounts/admin/options.php:453
     8079#: inc/modules/volume-discounts/admin/options.php:427, inc/modules/volume-discounts/admin/options.php:479
    80608080msgid "<strong>%1$s:</strong> to show discount amount<br><strong>%2$s:</strong> to show discount percentage"
    80618081msgstr ""
    80628082
    8063 #: inc/modules/volume-discounts/admin/options.php:410
     8083#: inc/modules/volume-discounts/admin/options.php:436
    80648084msgid "Tier format text"
    80658085msgstr ""
    80668086
    80678087#. translators: %1$s: Discount percentage, %2$s: Quantity, %3$s: Discount amount
    8068 #: inc/modules/volume-discounts/admin/options.php:415
     8088#: inc/modules/volume-discounts/admin/options.php:441
    80698089msgid "<strong>%1$s:</strong> to show discount percentage<br><strong>%2$s:</strong> to show the number of items needed to buy to get the discount<br><strong>%3$s:</strong> to show discount amount on each item"
    80708090msgstr ""
    80718091
    8072 #: inc/modules/volume-discounts/admin/options.php:426
     8092#: inc/modules/volume-discounts/admin/options.php:452
    80738093msgid "Item text"
    80748094msgstr ""
    80758095
    8076 #: inc/modules/volume-discounts/admin/options.php:433
     8096#: inc/modules/volume-discounts/admin/options.php:459
    80778097msgid "Total text"
    80788098msgstr ""
    80798099
    8080 #: inc/modules/volume-discounts/admin/options.php:440
     8100#: inc/modules/volume-discounts/admin/options.php:466
    80818101msgid "Cart item discount title"
    80828102msgstr ""
    80838103
    8084 #: inc/modules/volume-discounts/admin/options.php:448
     8104#: inc/modules/volume-discounts/admin/options.php:474
    80858105msgid "Cart item discount description"
    80868106msgstr ""
    80878107
    8088 #: inc/modules/volume-discounts/admin/options.php:450
     8108#: inc/modules/volume-discounts/admin/options.php:476
    80898109msgid "This is displayed on the cart page. You can use these codes in the content."
    80908110msgstr ""
    80918111
    8092 #: inc/modules/volume-discounts/admin/options.php:463
     8112#: inc/modules/volume-discounts/admin/options.php:489
    80938113msgid "Title font size"
    80948114msgstr ""
    80958115
    8096 #: inc/modules/volume-discounts/admin/options.php:474
     8116#: inc/modules/volume-discounts/admin/options.php:500
    80978117msgid "Title font weight"
    80988118msgstr ""
    80998119
    8100 #: inc/modules/volume-discounts/admin/options.php:569
     8120#: inc/modules/volume-discounts/admin/options.php:595
    81018121msgid "Add {quantity} more to get a {discount} discount off each"
    81028122msgstr ""
    81038123
    81048124#. translators: %1$s: offer quantity, %2$s: discount amount
    8105 #: inc/modules/volume-discounts/admin/options.php:573, inc/modules/volume-discounts/admin/options.php:622
     8125#: inc/modules/volume-discounts/admin/options.php:599, inc/modules/volume-discounts/admin/options.php:648
    81068126msgid "<strong>%1$s:</strong> to show offer quantity<br><strong>%2$s:</strong> to show discount amount"
    81078127msgstr ""
    81088128
    8109 #: inc/modules/volume-discounts/admin/options.php:594
     8129#: inc/modules/volume-discounts/admin/options.php:620
    81108130msgid "Use these settings to control how bulk discount offers appear on the checkout page."
    81118131msgstr ""
    81128132
    8113 #: inc/modules/volume-discounts/admin/options.php:618, inc/modules/volume-discounts/admin/options.php:669
     8133#: inc/modules/volume-discounts/admin/options.php:644, inc/modules/volume-discounts/admin/options.php:695
    81148134msgid "Add {quantity} more to get {discount} off"
    81158135msgstr ""
    81168136
    8117 #: inc/modules/volume-discounts/admin/options.php:634, inc/modules/volume-discounts/admin/options.php:698
     8137#: inc/modules/volume-discounts/admin/options.php:660, inc/modules/volume-discounts/admin/options.php:724
    81188138msgid "{product_price}"
    81198139msgstr ""
    81208140
    81218141#. translators: %1$s: product price
    8122 #: inc/modules/volume-discounts/admin/options.php:638
     8142#: inc/modules/volume-discounts/admin/options.php:664
    81238143msgid "<strong>%1$s:</strong> to show product price<br><strong>%2$s:</strong> to show offer discount amount"
    81248144msgstr ""
    81258145
    8126 #: inc/modules/volume-discounts/admin/options.php:658
     8146#: inc/modules/volume-discounts/admin/options.php:684
    81278147msgid "Use these settings to control how bulk discount offers appear on the thank you page."
    81288148msgstr ""
    81298149
    81308150#. translators: %1$s: quantity, %2$s: post purchase discount, %3$s: In Stock, %4$s: Total quantity
    8131 #: inc/modules/volume-discounts/admin/options.php:673
     8151#: inc/modules/volume-discounts/admin/options.php:699
    81328152msgid "<strong>%1$s:</strong> to show product quantity<br><strong>%2$s:</strong> to show the discount amount"
    81338153msgstr ""
    81348154
    81358155#. translators: %1$s: Discount amount, %2$s: product price
    8136 #: inc/modules/volume-discounts/admin/options.php:702
     8156#: inc/modules/volume-discounts/admin/options.php:728
    81378157msgid "<strong>%1$s:</strong> to show the discount amount<br><strong>%2$s:</strong> to show the product price before and after the offer discount"
    81388158msgstr ""
    81398159
    8140 #: inc/modules/volume-discounts/admin/options.php:715
     8160#: inc/modules/volume-discounts/admin/options.php:741
    81418161msgid "Bonus: You will also receive this discount off each item you just purchased as part of this bulk discount offer."
    81428162msgstr ""
    81438163
    8144 #: inc/modules/volume-discounts/admin/options.php:742
     8164#: inc/modules/volume-discounts/admin/options.php:768
    81458165msgid "General"
    81468166msgstr ""
    81478167
    8148 #: inc/modules/volume-discounts/admin/options.php:748
     8168#: inc/modules/volume-discounts/admin/options.php:774
    81498169msgid "Max offers on checkout page"
    81508170msgstr ""
    81518171
    8152 #: inc/modules/volume-discounts/admin/options.php:749
     8172#: inc/modules/volume-discounts/admin/options.php:775
    81538173msgid "Set the maximum offers can be displayed on the checkout page."
    81548174msgstr ""
  • merchant/trunk/merchant.php

    r3269935 r3287369  
    44 * Plugin URI:  https://athemes.com/merchant
    55 * Description: All-in-one plugin designed to help you grow your WooCommerce store. Pre-orders, Buy Now buttons, product labels, trust badges, payment logos, and more.
    6  * Version:     2.1.0
     6 * Version:     2.1.1
    77 * Author:      aThemes
    88 * Author URI:  https://athemes.com
     
    2525
    2626// Merchant constants.
    27 define( 'MERCHANT_VERSION', '2.1.0' );
     27define( 'MERCHANT_VERSION', '2.1.1' );
    2828define( 'MERCHANT_DB_VERSION', '1.1.0' ); // Update only when the database structure changes. In inc/classes/class-merchant-db-tables.php
    2929define( 'MERCHANT_FILE', __FILE__ );
  • merchant/trunk/readme.txt

    r3269935 r3287369  
    44Tested up to: 6.7
    55Requires PHP: 7.2
    6 Stable tag: 2.1.0
     6Stable tag: 2.1.1
    77Contributors: aThemes
    88License: GPLv3 or later
     
    219219
    220220== Changelog ==
     221= 2.1.1 =
     222* Added - Optional opt-in for anonymous, non-sensitive usage tracking of Merchant modules
     223
    221224= 2.1.0 =
    222225* Fixed - Trust Badges: Restored missing width/height controls for SVG images.
Note: See TracChangeset for help on using the changeset viewer.