/*! js-cookie v3.0.5 | MIT */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e.Cookies,o=e.Cookies=t();o.noConflict=function(){return e.Cookies=n,o}}())}(this,function(){"use strict";function e(e){for(var t=1;t{var c,t;window.wccom=window.wccom||{},wccom.fireTracksEvent=function(c,t,r){var e;c.match(/^[a-z_][a-z0-9_]*$/),null!==(e=window)&&void 0!==e&&null!==(e=e.localStorage)&&void 0!==e&&e.getItem("wccom-tracks-debug");const a=()=>{void 0===t&&(t={}),wccom.fillReferer(t),t.current_url=window.location.href;const r=new FormData;r.append("action","woothemes_tracks_ajax"),r.append("event_name",c);for(const c of Object.keys(t))r.append("properties["+c+"]",t[c]);if(navigator.sendBeacon){const c=navigator.sendBeacon(wteVars.ajaxurl,r);if(wccom.isFiringFirstTrack=!1,c)return void(wccom.hasFiredFirstTrack=!0)}const e={action:"woothemes_tracks_ajax",event_name:c,properties:t};jQuery.post(wteVars.ajaxurl,e).done((function(){wccom.hasFiredFirstTrack=!0,wccom.isFiringFirstTrack=!1})).fail((function(){wccom.isFiringFirstTrack=!1}))};(r||wccom.canTrackUser("analytics"))&&wccom.canFireTrack()?(wccom.hasFiredFirstTrack||(wccom.isFiringFirstTrack=!0),a()):wccom.addTrackCallback(a)},wccom.waitUntilCanSendTracks=function(){return new Promise((c=>{setTimeout((function t(){wccom.canTrackUser("analytics")&&wccom.canFireTrack()?c():setTimeout(t,250)}),0)}))},wccom.addTrackCallback=(c=[],t=null,function(r){"function"==typeof r&&(c.push(r),t||(t=wccom.waitUntilCanSendTracks()).then((()=>(c.forEach((c=>c())),void(c=[])))))}),wccom.hasFiredFirstTrack=!1,wccom.isFiringFirstTrack=!1,wccom.isTrackIdSet=function(){return Boolean(function(){let c="";const t=("; "+document.cookie).split("; woo_tk_ai=");return 2===t.length&&(c=t.pop().split(";").shift()),c}())},wccom.canFireTrack=function(){const c="1"===wteVars.authenticated;return wccom.isTrackIdSet()||c||!wccom.hasFiredFirstTrack&&!wccom.isFiringFirstTrack},wccom.fillReferer=function(c){void 0!==c._via_ref&&""!==c._via_ref||(c._via_ref=""!==document.referrer?document.referrer:window.location.href)},jQuery((function(){jQuery("#subscription-download").on("click",(function(){var c=jQuery(this).data("product-name");wccom.fireTracksEvent("subscription_download",{product_name:c})})),jQuery("#normal-download").on("click",(function(){var c=jQuery(this).data("product-name");wccom.fireTracksEvent("normal_download",{product_name:c})})),jQuery("#wc-install-button").on("click",(function(){wccom.fireTracksEvent("woocommerce_install")})),jQuery("#theme_demo_link").on("click",(function(){var c;c=jQuery(this).data("theme-name"),wccom.fireTracksEvent("demo_link_clicked",{product_name:c})})),jQuery("#theme_buynow_link").on("click",(function(){var c;c=jQuery(this).data("theme-name"),wccom.fireTracksEvent("buy_now_link_clicked",{product_name:c})})),jQuery(document).on("wtTracksRecord",(function(c){wccom.fireTracksEvent(c.detail.name,c.detail.props)})),jQuery(".wccom-breadcrumb a").on("click",(function(c){var t={label:c.delegateTarget.text,href:c.delegateTarget.href,url:document.location.href};wccom.fireTracksEvent("bread_crumb_clicked",t)})),jQuery(document).on("click",".single_add_to_cart_button",(function(c){var t=c.currentTarget.dataset.tracksHas_payment_method,r=c.currentTarget.dataset.tracksPosition,e=c.currentTarget.dataset.tracksIs_paid,a=c.currentTarget.dataset.tracksIs_freemium,n=c.currentTarget.dataset.tracksFreemium_type,o=c.currentTarget.dataset.tracksIs_trending,i=c.currentTarget.dataset.tracksSource,s=c.currentTarget.dataset.tracksProductId,d={has_payment_method:t,position:r,is_paid:e,is_trending:o,is_freemium:a,is_business_service:c.currentTarget.dataset.tracksIsBusinessService,product_id:s,source:i};void 0!==n&&(d.freemium_type=n),wccom.fireTracksEvent("add_to_cart_button_clicked",d)})),jQuery('a[href*="add-cart-item="]').on("click",(function(c){var t=c.delegateTarget.href.split("add-cart-item=")[1].replace(/[^\d]/g,"");t&&wccom.fireTracksEvent("add_cart_item_button_clicked",{product_id:parseInt(t,10)})})),jQuery(document).on("click","[data-tracks]",(function(c){var t,r=c.currentTarget.dataset.tracks,e={};if(r){for(var a in c.currentTarget.dataset)c.currentTarget.dataset.hasOwnProperty(a)&&"tracks"===a.substring(0,6)&&"tracks"!==a&&(e[a.substring(6).toLowerCase()]=c.currentTarget.dataset[a]);null!==(t=e.url)&&void 0!==t&&t.includes("/wp-admin/")&&(e.url=document.location.href),wccom.fireTracksEvent(r,e)}})),jQuery("body").on("click",".wc-block-cart__submit-button",(function(){wccom.fireTracksEvent("cart_continue_button_clicked")}))}))})();; (()=>{var t={1445:()=>{jQuery(document).ready((function(t){var e={action:"maybe_set_gtm_cookie",is_admin:wccom_plugins_params.is_admin};jQuery.post(wccom_plugins_params.ajax_url,e,(function(t){dataLayer.push({user_type:t})})),t(".single_add_to_cart_button, .single-product form.cart button.is-primary").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"add to basket",eventAction:wccom_plugins_params.productCategory,eventLabel:wccom_plugins_params.productName,eventValue:""})})),t("form.cart > button.single_docs_button").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"add to basket",eventAction:wccom_plugins_params.productCategory,eventLabel:wccom_plugins_params.productName,eventValue:""})})),t("a.wccom-bundle-button","a.wccom-mock-bundle-button").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"add to basket",eventAction:wccom_plugins_params.productCategory,eventLabel:wccom_plugins_params.productName,eventValue:""})})),t("#theme_buynow_link").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"add to basket",eventAction:wccom_plugins_params.productCategory,eventLabel:wccom_plugins_params.productName,eventValue:""})})),t("#theme_demo_link").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"view demo",eventAction:wccom_plugins_params.productCategory,eventLabel:wccom_plugins_params.productName,eventValue:""})})),t(".all-themes-pricing .button").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"add to basket",eventAction:wccom_plugins_params.productCategory,eventLabel:wccom_plugins_params.productName,eventValue:""})})),t(".woocommerce-cart .graphflow-recommendations a").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"view recommendation",eventAction:"cart",eventLabel:t(this).attr("title"),eventValue:""})})),t(".single-product .graphflow-recommendations a").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"view recommendation",eventAction:"product",eventLabel:t(this).attr("title"),eventValue:""})})),t("div.product-type-external .cart a.button").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"view external product",eventAction:wccom_plugins_params.productCategory,eventLabel:wccom_plugins_params.productName})})),t("#wc_introduction .wc_learn_more").on("click",(function(){dataLayer.push({event:"gtm_click",eventCategory:"Overview",eventAction:"WooCommerce",eventLabel:"Overview Video",eventValue:""})})),t(".main-search .title").on("click","a",(function(){var e=t(this).parents(".results-group"),o=t(this).parents(".results-item").index();(10{!function(){let t;function e(){const e=document.querySelector(".wcpv-shortcode-registration-success");e&&(e.innerText="Developer registration complete! Redirecting you...",document.querySelector(".wccom-shortcodes__page-container h2").setAttribute("hidden",""),/partner-signup/.test(window.location.href)?(e.remove(),document.querySelector(".wpcom-site__logo").style.display="block",window.location.href="https://wordpress.com/marketplace/submission-success"):window.location.href="/wp-admin/?new-vendor=yes",t.disconnect())}document.addEventListener("DOMContentLoaded",(function(){const o=document.querySelector(".wccom-shortcodes__page-container");o&&(t=new MutationObserver(e),t.observe(o,{childList:!0,subtree:!0}))}))}()},6112:()=>{!function(){function t(t){const e=[].slice.call(t.currentTarget.classList),o={properties:{}};e.forEach((function(t){const e=t.split("__");if(t.includes("wccom-tracks-name"))o.name=e[1];else{const t=e[1],c=e[2];t&&c&&(o.properties[t]=c)}})),o.name&&((wccom||{}).fireTracksEvent||function(){})(o.name,o.properties)}function e(t){const e={properties:{}},o=t.currentTarget.dataset,c="wccomTracks";for(const t in o)if(c===t)e.name=o[t];else if(t.includes(c)){const c=t.slice(11).toLowerCase().replace(/([A-Z])/g,(function(t){return"_".concat(t.toLowerCase())}));e.properties[c]=o[t]}e.name&&((wccom||{}).fireTracksEvent||function(){})(e.name,e.properties)}document.addEventListener("DOMContentLoaded",(function(){[].slice.call(document.getElementsByClassName("wccom-tracks")).forEach((function(e){e.addEventListener("click",t)})),[].slice.call(document.querySelectorAll("[data-wccom-tracks]")).forEach((function(t){t.addEventListener("click",e)}))}))}()},6310:()=>{!function(){function t(t){t.preventDefault();const e=document.getElementById("wccomSlackSignupError");e.setAttribute("hidden","");const o=document.getElementById("wccomSlackSignupForm");o.setAttribute("hidden","");const c=document.getElementById("wccomSlackSignupFormLoading");c.removeAttribute("hidden");const n=document.getElementById("wccomSlackSignupFormEmail");var r=new Headers,a=document.getElementById("wp_rest").value;r.append("X-WP-Nonce",a);var i,d=JSON.stringify({email:n.value,utm:(i=[],1{!function(){function t(t){const e=[].slice.call(t.classList);let o;[].slice.call(document.body.classList).forEach((function(t){t.includes("user-geo-location-")&&(o=t.slice(-2))})),o&&e.forEach((function(e){e.includes("wccom-geo-whitelist__")?function(t,e,o){-1===t.indexOf(o)&&e.setAttribute("hidden","")}(e.split("__")[1].split("-"),t,o):e.includes("wccom-geo-blacklist__")&&function(t,e,o){-1!==t.indexOf(o)&&e.setAttribute("hidden","")}(e.split("__")[1].split("-"),t,o)}))}document.addEventListener("DOMContentLoaded",(function(){[].slice.call(document.getElementsByClassName("wccom-geo")).forEach(t)}))}()}},e={};function o(c){var n=e[c];if(void 0!==n)return n.exports;var r=e[c]={exports:{}};return t[c](r,r.exports,o),r.exports}(()=>{"use strict";o(9052),o(6112);const t={isValidUrl(t){try{const e=["http:","https:"],o=new URL(t);return!!e.includes(o.protocol)&&(!(!t.startsWith(o.protocol+"//")||t.startsWith(o.protocol+"///"))&&/^([a-z0-9]+(-+[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(o.hostname))}catch(t){return!1}},parseUrl(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=t.split("?");return e&&(o[0]=o[0].split("#")[0]),o[1]?{url:o[0],params:this.queryStringToObject(o[1])}:{url:o[0],params:{}}},queryStringToObject:t=>(t||window.location.search).replace(/(^\?)/,"").split("&").map(function(t){return this[(t=t.split("="))[0]]=t[1],this}.bind({}))[0],objectToQueryString:t=>Object.keys(t).map((e=>t[e]?e+"="+t[e]:e)).join("&"),getLoginUrl(){const{pathname:t,search:e,hash:o}=window.location,c="".concat(t).concat(e).concat(o);return"/sso?next=".concat(encodeURIComponent(c))},maybeResizeImage(e,o){const c=t.parseUrl(e).params,n=parseInt(c.w);return c&&"number"==typeof o&&Number.isInteger(n)?t.fixedImageSize(e,n,parseInt(n*o),"resize"):e},fixedImageSize(e,o,c){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"fit";if(!["fit","resize"].includes(n))return e;const r=t.parseUrl(e),a=r.params;return"object"!=typeof a?e:(["w","h","resize","crop","fit"].forEach((t=>delete a[t])),a[n]=o+","+c,r.url+"?"+this.objectToQueryString(a))},setViewportHeightCSSProperty(){const t=.01*window.innerHeight;document.documentElement.style.setProperty("--vh","".concat(t,"px"))},uuidv4:()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)})),randomId:()=>Math.random().toString(36).replace(/[^a-z]+/g,"").substr(2,10),countWords:t=>t.split(/\s+/).filter((t=>""!==t)).length,elementInView(t){const e=document.querySelector(t);if(!e||null===e.offsetParent)return!1;const o=e.getBoundingClientRect();return 0<=o.top&&0<=o.left&&o.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&o.right<=(window.innerWidth||document.documentElement.clientWidth)},checkTrapContainerVisibility(t){const e=t.map((t=>new Promise((e=>{const o=window.setInterval((()=>{"hidden"!==window.getComputedStyle(t).visibility&&(e(),window.clearInterval(o))}),25)}))));return Promise.all(e)},roundedMonthlyPrice:t=>Math.ceil(t/12*100)/100,getUserLocation(){const t=(new Date).getTime();return fetch("https://public-api.wordpress.com/geo/?v="+t).then((t=>t.ok?t.json():t.body().then((t=>{throw new Error(t)})))).catch((()=>null))}},e=t;function c(t){var e;return null===(e=document.cookie.split("; ").find((e=>e.startsWith(t+"="))))||void 0===e?void 0:e.split("=")[1]}function n(t,e,o){let c="";if(o){const t=new Date;t.setTime(t.getTime()+864e5*o),c="expires=".concat(t.toUTCString(),"; ")}document.cookie="".concat(t,"=").concat(e,"; ").concat(c,"Path=/; SameSite=None; Secure")}function r(t){document.cookie="".concat(t,"=; Path=/; Max-Age=-99999;")}jQuery((function(){window.dataLayer=window.dataLayer||[];const t="WCCOM_Data_Layer_Geo_v2",o=c(t),r=t=>{"undefined"!=typeof wccomGTMEE&&t&&(wccomGTMEE.geolocation={countryShort:t.country_short,countryLong:t.country_long,region:t.region,city:t.city},dataLayer.push({event:"geolocation",geolocation:wccomGTMEE.geolocation}))};"undefined"!=typeof wccomGTMEE&&wccomGTMEE.productView&&dataLayer.push({event:"visitor interaction",interaction_name:"view product page",ecommerce:{detail:{products:[{category:wccomGTMEE.product.category,brand:wccomGTMEE.product.brand,name:wccomGTMEE.product.name,id:wccomGTMEE.product.sku,variant:wccomGTMEE.product.revenueType}]}}}),"undefined"!=typeof wccomGTMEE&&wccomGTMEE.orderReceivedView&&dataLayer.push({event:"visitor interaction",interaction_name:"transaction confirmation",net_revenue:wccomGTMEE.order.netRevenue,ecommerce:{currencyCode:wccomGTMEE.currencyCode,purchase:{actionField:{id:wccomGTMEE.order.number,affiliation:wccomGTMEE.order.methodOfPayment,revenue:wccomGTMEE.order.total,tax:wccomGTMEE.order.tax,shipping:wccomGTMEE.order.shippingTotal,coupon:wccomGTMEE.order.coupon},products:wccomGTMEE.order.products}}}),o?r(JSON.parse(decodeURIComponent(o))):e.getUserLocation().then((e=>{e&&(n(t,encodeURIComponent(JSON.stringify(e)),1),r(e))})).catch((()=>{dataLayer.push({event:"geolocation",geolocation:{}})})),jQuery(".wccom-product-box a.single_add_to_cart_button").not(".wccom-product-single--in-app .wccom-product-box a.single_add_to_cart_button").not(".wccom-product-box--is-free a.single_add_to_cart_button").not(".wccom-product-box--is-external a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"buy now"})})),jQuery(".wccom-product-sticky-bottom-bar a.single_add_to_cart_button").not(".wccom-product-single--in-app .wccom-product-sticky-bottom-bar a.single_add_to_cart_button").not(".wccom-product-sticky-bottom-bar--is-free a.single_add_to_cart_button").not(".wccom-product-sticky-bottom-bar--is-external a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"buy now sticky mobile"})})),jQuery(".wccom-product-box--is-free a.single_add_to_cart_button").not(".wccom-product-box--is-external a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"free download"})})),jQuery(".wccom-product-sticky-bottom-bar--is-free a.single_add_to_cart_button").not(".wccom-product-sticky-bottom-bar--is-external a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"free download sticky mobile"})})),jQuery(".wccom-product-sticky-top-bar--is-external a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"external sticky"})})),jQuery(".wccom-product-box--is-external a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"external"})})),jQuery(".wccom-product-sticky-bottom-bar--is-external a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"external sticky mobile"})})),jQuery(".wccom-product-single--in-app .wccom-product-sticky-top-bar a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"in-app sticky"})})),jQuery(".wccom-product-single--in-app .wccom-product-box a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"in-app"})})),jQuery(".wccom-product-single--in-app .wccom-product-sticky-bottom-bar a.single_add_to_cart_button").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"in-app sticky mobile"})})),jQuery(".sf-downloads a.download").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"get woocommerce storefront bottom"})})),jQuery(".storefront-heading a.download").on("click",(function(){jQuery.fn.addToCartDLPush({add_to_cart_btn:"get woocommerce storefront top"})})),jQuery(document).on("click",".woocommerce-cart-form a.remove",(function(t){if("undefined"!=typeof wccomGTMEE&&wccomGTMEE.cart){t.preventDefault();var e=jQuery(this).attr("data-product_id");dataLayer.push({event:"visitor interaction",interaction_name:"remove from cart",remove_btn:"remove product",ecommerce:{remove:{products:[{category:wccomGTMEE.cart[e].category,brand:wccomGTMEE.cart[e].brand,name:wccomGTMEE.cart[e].name,id:wccomGTMEE.cart[e].id,variant:wccomGTMEE.cart[e].variant,price:wccomGTMEE.cart[e].price,quantity:wccomGTMEE.cart[e].quantity}]}}}),delete wccomGTMEE.cart[e]}})),jQuery(document).on("click",'.woocommerce-cart-form :input[name="update_cart"]',(function(){if("undefined"!=typeof wccomGTMEE&&wccomGTMEE.cartKeys){var t=wccomGTMEE.cartKeys,e=jQuery(".woocommerce-cart-form"),o=jQuery.fn.formToJSON(e);jQuery.each(t,(function(t,e){var c=e;o["cart["+t+"][qty]"]&&(o["cart["+t+"][qty]"]>e.quantity?(c.quantity=o["cart["+t+"][qty]"]-c.quantity,dataLayer.push({event:"visitor interaction",interaction_name:"add to cart",add_to_cart_btn:"update cart",ecommerce:{add:{products:[{product:c}]}}})):0===parseInt(o["cart["+t+"][qty]"])?dataLayer.push({event:"visitor interaction",interaction_name:"remove from cart",remove_btn:"update cart",ecommerce:{remove:{products:[{product:c}]}}}):o["cart["+t+"][qty]"]0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"!=typeof wccomGTMEE){var e={event:"visitor interaction",interaction_name:"add to cart",add_to_cart_btn:"add to cart sidebar",ecommerce:{add:{products:[{category:wccomGTMEE.product.category,brand:wccomGTMEE.product.brand,name:wccomGTMEE.product.name,id:wccomGTMEE.product.sku,variant:wccomGTMEE.product.revenueType,price:wccomGTMEE.product.price1,quantity:1}]}}};dataLayer.push(jQuery.extend(e,t))}},jQuery.fn.commenceCheckoutDLPush=function(){if("undefined"!=typeof wccomGTMEE){var t=[];jQuery.each(wccomGTMEE.cart,(function(e,o){t.push(o)})),t.push({category:wccomGTMEE.product.category,brand:wccomGTMEE.product.brand,name:wccomGTMEE.product.name,id:wccomGTMEE.product.sku,variant:wccomGTMEE.product.revenueType,price:wccomGTMEE.product.price1,quantity:1}),dataLayer.push({event:"visitor interaction",page_type:"application process",interaction_name:"commence checkout",ecommerce:{currencyCode:wccomGTMEE.currencyCode,checkout:{actionField:{step:1},products:t}}})}},jQuery.fn.formToJSON=function(t){var e=t.serializeArray(),o={};return jQuery.map(e,(function(t){o[t.name]=t.value})),o};const a=wp.hooks;"undefined"!=typeof vendorGoogleAnalyticsTagId&&(0,a.addAction)("wccom_buy_now_button_clicked","wccom",(()=>{"undefined"!=typeof gtag&>ag("event","wccom_buy_now_button_click",{send_to:vendorGoogleAnalyticsTagId})})),o(6310),window.addEventListener("DOMContentLoaded",(function(){const t="irclickid",e=new URLSearchParams(window.location.search).get(t),o="".concat(t,"-expiration");if(e&&wccom.canTrackUser("analytics")&&e!==c(t)){const c=(new Date).getTime()+2592e6;n(t,e,30),n(o,c,30),r("wccom-refer-affiliate-id")}})),window.addEventListener("DOMContentLoaded",(function(){(0,a.addFilter)("wccom_nux_installation_url","wccom-refer/impact-radius",(t=>{const e=c("irclickid");if(e){const o=new URL(t);return o.searchParams.set("irclickid",e),o.toString()}return t}))})),function(t){/(\?|&)ref=\d+/.test(window.location.search)&&(window.location.search=window.location.search.replace(/(\?|&)ref=/i,"$1aff="));const e=wccom&&wccom.fireTracksEvent||function(){};jQuery((function(){if(window.URLSearchParams){var t=new window.URLSearchParams(window.location.search);if(t.get("aff")&&null===t.get("utm_source")&&null===t.get("utm_medium")&&null===t.get("utm_campaign")){var o={affiliate_id:t.get("aff"),campaign_id:t.get("cid"),sub_id:t.get("sid")};e("refer_visit",o)}}})),t(document).on("referral_tracked",(function(t,o){var c,n,a,i=o.responseJSON||{};if(o.success)c=o.data.affiliate_id,n=o.data.campaign_id,a=o.data.sub_id,i=o.data;else{if(!o.affiliate_id)return i.refer_message=o.message,void e("refer_visit_response_fail",i);i.affiliate_id=c}e("refer_visit_response",i);var d=new window.URLSearchParams(window.location.search);if(null!==d.get("utm_source")||null!==d.get("utm_medium")||null!==d.get("utm_campaign"))return c&&(i.affiliate_id=c),void e("refer_visit_illegal_utm_params_usage",i);var u="wccom-refer-affiliate-id="+c+";",s=new Date;s.setTime(s.getTime()+2592e6);var m=" expires="+s.toGMTString()+";",l=" path=/;";document.cookie=u+m+l,r("irclickid");var p={};n&&String(n).match(/^\d+$/)&&(p.campaignId=n),a&&(p.subId=String(a).substring(0,255));var _="wccom-refer-affiliate-meta="+JSON.stringify(p)+";";document.cookie=_+m+l})),t(document).on("referral_tracked_error",(function(t,o){var c=o.responseJSON||{};c.status=o.status||"",e("refer_visit_response_error",c)}))}(jQuery),o(2564),o(1445)})()})();; /* global jQuery, location, wccom */ ( function() { var supportFeedback = {}; var feedbackQuestionOrder = { type: { happy: [ 'wccom-support-feedback-timelength' ], neutral: [ 'wccom-support-feedback-contacted' ], sad: [ 'wccom-support-feedback-contacted' ], }, contacted: { yes: [ 'wccom-support-feedback-timelength' ], no: [ 'wccom-support-feedback-additional', 'wccom-support-feedback-submit' ], }, timelength: { hours: [ 'wccom-support-feedback-additional', 'wccom-support-feedback-submit' ], day: [ 'wccom-support-feedback-additional', 'wccom-support-feedback-submit' ], days: [ 'wccom-support-feedback-additional', 'wccom-support-feedback-submit' ], }, resolved: { yes: [ 'wccom-support-feedback-additional', 'wccom-support-feedback-submit' ], no: [ 'wccom-support-feedback-takelook' ], }, takelook: { yes: [ 'wccom-support-feedback-changed', 'wccom-support-feedback-submit' ], no: [ 'wccom-support-feedback-additional', 'wccom-support-feedback-submit' ], }, text: { additional: [ 'wccom-support-feedback-submit' ], changed: [ 'wccom-support-feedback-submit' ], positive: [ 'wccom-support-feedback-submit' ], }, }; function init() { var openButton = document .getElementById( 'wccom-support-modal-open-button' ); if ( openButton ) { openButton.addEventListener( 'click', addUrlParam ); } var queryParams = getQueryParameters(); if ( queryParams.support ) { openModal( queryParams.support, 'support' ); } else if ( queryParams.supportthankyou ) { openModal( queryParams.supportthankyou, 'thankyou' ); } else if ( queryParams.supportfeedback ) { openModal( queryParams.supportfeedback, 'feedback' ); document .getElementById( 'wccom-support-feedback' ) .addEventListener( 'click', handleFeedbackChoice ); var textareas = document.querySelectorAll( '#wccom-support-feedback textarea' ); [].forEach.call( textareas, function( textarea ) { textarea.addEventListener( 'input', handleTextareaInput ); } ); handleFeedbackDirection( queryParams.feedbackdirection || 'happy' ); } } /** * Add Url Param * * @param {object} e The click event. */ function addUrlParam( e ) { e.preventDefault(); window.location.href = appendToQueryString( 'support', e.currentTarget.dataset.extension, ); } /** * Adds param to query string * * @param {string} param The param key * @param {string} val The value of the parameter * @returns {string} The url */ function appendToQueryString( param, val ) { var parameterList = getQueryParameters(); parameterList[ param ] = val; var newQueryString = serializeUrlParams( parameterList ); return location.origin + location.pathname + newQueryString; } /** * Close modal */ function closeModal() { var modalContainer = document.getElementById( 'wccom-support-modal' ); document.body.classList.remove( 'support-modal__prevent-scroll' ); modalContainer.classList.remove( 'support-modal__open' ); var paramsToRemove = [ 'support', 'supportfeedback', 'supportthankyou', ]; var queryString = deleteFromQueryString( paramsToRemove ); var url = location.origin + location.pathname; window.location.href = url + queryString; } /** * Removes param to query string * * @param {Array} params Parameters to delete * @returns {string} the url with deleted parameter */ function deleteFromQueryString( params ) { var parameterList = getQueryParameters(); params.forEach( function( param ) { delete parameterList[ param ]; } ); var newQueryString = serializeUrlParams( parameterList ); if ( '?' === newQueryString ) { newQueryString = ''; } return newQueryString; } /** * Returns object with url params * * @returns {object} object of params */ function getQueryParameters() { var queryString = {}; var query = window.location.search.substring( 1 ); var vars = query.split( '&' ); if ( '' === vars[ 0 ] ) { return queryString; } for ( var i = 0; i < vars.length; i++ ) { var pair = vars[ i ].split( '=' ); // If first entry with this name if ( 'undefined' === typeof queryString[ pair[ 0 ] ] ) { queryString[ pair[ 0 ] ] = decodeURIComponent( pair[ 1 ] ); // If second entry with this name } else if ( 'string' === typeof queryString[ pair[ 0 ] ] ) { var arr = [ queryString[ pair[ 0 ] ], decodeURIComponent( pair[ 1 ] ) ]; queryString[ pair[ 0 ] ] = arr; // If third or later entry with this name } else { queryString[ pair[ 0 ] ].push( decodeURIComponent( pair[ 1 ] ) ); } } return queryString; } /** * Update local data store when textarea is updated. * * @param {object} e input event */ function handleTextareaInput( e ) { var action = e.target.dataset; if ( ! action.name ) { return; } supportFeedback[ e.target.name ] = e.target.value; } /** * Handle support feedback user choice * * @param {object} e click event */ function handleFeedbackChoice( e ) { var action = e.target.dataset; if ( ! action.name ) { return; } var clearFromNode = e.target; if ( 'type' === action.name ) { handleFeedbackDirection( action.value ); clearFromNode = document.getElementById( 'wccom-support-feedback-start' ); } supportFeedback[ action.name ] = action.value; removeChildQuestions( clearFromNode ); updateFeedbackForm( action ); } /** * Handle support feedback user choice * * @param {object} action action name and value */ function updateFeedbackForm( action ) { // Check what IDs should be revealed. var showIds = feedbackQuestionOrder[ action.name ][ action.value ]; // Highlight selected feedback if the action is about the feedback type if ( 'type' === action.name ) { // Find selected feedback var selectedFeedbackButtons = document.getElementsByClassName( 'support-modal__feedback-button--selected', ); // Reset selected feedback for ( var i = 0; i < selectedFeedbackButtons.length; i++ ) { var selectedFeedbackButton = selectedFeedbackButtons[ i ]; selectedFeedbackButton.classList.remove( 'support-modal__feedback-button--selected', ); } // Highlight the new feedback; var button = document.querySelector( 'button[data-value="' + action.value + '"]' ); button.classList.add( 'support-modal__feedback-button--selected' ); } // Deal with a special case. if ( 'happy' === supportFeedback.type && 0 >= showIds.indexOf( 'wccom-support-feedback-additional' ) && 'resolved' === action.name && 'yes' === action.value ) { // Customer is happy, and problem is resolved, so show // an extra-positive message with the comment textarea. showIds.splice( showIds.indexOf( 'wccom-support-feedback-additional' ), 1 ); showIds.push( 'wccom-support-feedback-positive' ); } // Reveal IDs. showIds.forEach( function( showId ) { document .getElementById( showId ) .classList .remove( 'support-modal__feedback-hidden' ); } ); } /** * Handle feedback direction choice * * @param {string} direction 'happy' or 'sad' */ function handleFeedbackDirection( direction ) { supportFeedback.type = direction; var container = document.querySelector( '.support-modal__feedback-header' ); container.classList.remove( 'support-modal__feedback-happy' ); container.classList.remove( 'support-modal__feedback-sad' ); container.classList.remove( 'support-modal__feedback-neutral' ); container.classList.add( 'support-modal__feedback-' + direction ); updateFeedbackForm( { name: 'type', value: direction } ); } /** * Remove questions before showing next * * @param {object} clickedNode node that was clicked */ function removeChildQuestions( clickedNode ) { var currentNode = clickedNode; while ( 'DIV' !== currentNode.tagName ) { currentNode = currentNode.parentNode; } while ( currentNode ) { currentNode = currentNode.nextElementSibling; if ( currentNode ) { currentNode.classList.add( 'support-modal__feedback-hidden' ); Array.prototype.slice.call( currentNode.querySelectorAll( 'input[type="radio"]' ), ).forEach( function( radio ) { radio.checked = false; } ); } } document.getElementById( 'wccom-support-feedback-submit' ) .classList.add( 'support-modal__feedback-hidden' ); } /** * Submits a user choice */ function submitChoice() { var queryParams = getQueryParameters(); supportFeedback.action = 'support_modal_feedback'; // eslint-disable-next-line supportFeedback.ticket_id = queryParams.ticket_id; // Send data to server jQuery.ajax( { type: 'POST', data: supportFeedback, url: '/wp-admin/admin-ajax.php', success: function( response ) { if ( 'ok' !== response.status ) { window.alert( 'There was a problem saving your response. Please try again later.', ); return; } document.querySelector( '.support-modal__feedback' ) .style.display = 'none'; document.querySelector( '.support-modal__feedback-thank-you' ) .style.display = 'block'; }, // eslint-disable-next-line }).fail(function (response) { window.alert( 'There was a problem saving your response. Please try again later.' ); } ); } /** * Opens modal * * @param {string} extension Slug of extension * @param {string} modalType Type of modal, support or question */ function openModal( extension, modalType ) { if ( ! document.querySelector( 'body.logged-in' ) ) { var path = '/sso?next=' + encodeURIComponent( document.location.pathname + document.location.search ); window.location.href = location.origin + path; } var modalContainer = document.getElementById( 'wccom-support-modal' ); modalContainer.classList.add( 'support-modal__open' ); document.body.classList.add( 'support-modal__prevent-scroll' ); var modalTypeId; if ( 'support' === modalType ) { modalTypeId = 'wccom-support-question'; } else if ( 'thankyou' === modalType ) { modalTypeId = 'wccom-support-thank-you'; } else if ( 'feedback' === modalType ) { modalTypeId = 'wccom-support-feedback'; } var modalTypeElement = document.getElementById( modalTypeId ); modalTypeElement.classList.add( 'support-modal__open' ); modalContainer.dataset.extension = extension; var modalCloseButtons = document.getElementsByClassName( 'close-support-modal' ); for ( let i = 0; i < modalCloseButtons.length; i++ ) { var closeButton = modalCloseButtons[ i ]; closeButton.addEventListener( 'click', closeModal ); } Array.prototype.slice.call( document.querySelectorAll( '.support-modal__cancel' ), ).forEach( function( button ) { button.addEventListener( 'click', closeModal ); } ); document .getElementById( 'wccom-support-feedback-submit-button' ) .addEventListener( 'click', submitChoice ); } /** * Returns serialized url params * * @param {object} params Object of params * @returns {string} Url string */ function serializeUrlParams( params ) { var urlParams = '?'; for ( var key in params ) { urlParams += key + '=' + encodeURIComponent( params[ key ] ); urlParams += '&'; } urlParams.replace( /&$/, '' ); return urlParams; } document.addEventListener( 'DOMContentLoaded', init ); }() ); ; jQuery(function(t){if("undefined"==typeof wc_single_product_params)return!1;t("body").on("init",".wc-tabs-wrapper, .woocommerce-tabs",function(){t(this).find(".wc-tab, .woocommerce-tabs .panel:not(.panel .panel)").hide();var e=window.location.hash,i=window.location.href,o=t(this).find(".wc-tabs, ul.tabs").first();e.toLowerCase().indexOf("comment-")>=0||"#reviews"===e||"#tab-reviews"===e?o.find("li.reviews_tab a").trigger("click"):i.indexOf("comment-page-")>0||i.indexOf("cpage=")>0?o.find("li.reviews_tab a").trigger("click"):"#tab-additional_information"===e?o.find("li.additional_information_tab a").trigger("click"):o.find("li:first a").trigger("click")}).on("click",".wc-tabs li a, ul.tabs li a",function(e){e.preventDefault();var i=t(this),o=i.closest(".wc-tabs-wrapper, .woocommerce-tabs"),a=o.find(".wc-tabs, ul.tabs");a.find("li").removeClass("active"),a.find('a[role="tab"]').attr("aria-selected","false").attr("tabindex","-1"),o.find(".wc-tab, .panel:not(.panel .panel)").hide(),i.closest("li").addClass("active"),i.attr("aria-selected","true").attr("tabindex","0"),o.find("#"+i.attr("href").split("#")[1]).show()}).on("keydown",".wc-tabs li a, ul.tabs li a",function(e){var i="rtl"===document.documentElement.dir,o=e.key,a=i?"ArrowLeft":"ArrowRight",r=i?"ArrowRight":"ArrowLeft",n="ArrowDown",s="ArrowUp",l="Home",c="End";if([a,r,n,s,c,l].includes(o)){var d=t(this),p=d.closest(".wc-tabs-wrapper, .woocommerce-tabs").find(".wc-tabs, ul.tabs").find('a[role="tab"]'),h=p.length-1,g=p.index(d),u=o===r||o===s?g-1:g+1,m="horizontal";if(p.length>=2){var _=p[0].getBoundingClientRect(),f=p[1].getBoundingClientRect();m=Math.abs(f.top-_.top)>Math.abs(f.left-_.left)?"vertical":"horizontal"}("vertical"!==m||o!==r&&o!==a)&&("horizontal"!==m||o!==s&&o!==n)&&(e.preventDefault(),o===r&&0===g&&"horizontal"===m||o===s&&0===g&&"vertical"===m||o===c?u=h:(a===o&&g===h&&"horizontal"===m||n===o&&g===h&&"vertical"===m||o===l)&&(u=0),p.eq(u).focus())}}).on("click","a.woocommerce-review-link",function(){return t(".reviews_tab a").trigger("click"),!0}).on("init","#rating",function(){t(this).hide().before('

\t\t\t\t\t\t\t\t\t\t\t\t\t'+wc_single_product_params.i18n_rating_options[0]+'\t\t\t\t\t\t\t'+wc_single_product_params.i18n_rating_options[1]+'\t\t\t\t\t\t\t'+wc_single_product_params.i18n_rating_options[2]+'\t\t\t\t\t\t\t'+wc_single_product_params.i18n_rating_options[3]+'\t\t\t\t\t\t\t'+wc_single_product_params.i18n_rating_options[4]+"\t\t\t\t\t\t\t\t\t\t\t

")}).on("click","#respond p.stars a",function(){var e=t(this),i=e.closest("p.stars").find("a").index(e)+1,o=t(this).closest("#respond").find("#rating"),a=t(this).closest(".stars");return o.val(i),e.siblings("a").removeClass("active").attr("aria-checked","false").attr("tabindex","-1"),e.addClass("active").attr("aria-checked","true").attr("tabindex","0"),a.addClass("selected"),!1}).on("click","#respond #submit",function(){var e=t(this).closest("#respond").find("#rating"),i=e.val();if(e.length>0&&!i&&"yes"===wc_single_product_params.review_rating_required)return window.alert(wc_single_product_params.i18n_required_rating_text),!1}).on("keyup",".wc-tabs li a, ul.tabs li a, #respond p.stars a",function(e){var i=e.key,o=["ArrowRight","ArrowDown"];o.concat(["ArrowLeft","ArrowUp"]).includes(i)&&(e.preventDefault(),e.stopPropagation(),o.includes(i)?t(this).next().focus().click():t(this).prev().focus().click())}),t(".wc-tabs-wrapper, .woocommerce-tabs, #rating").trigger("init");var e=function(e,i){this.$target=e,this.$images=t(".woocommerce-product-gallery__image",e),0!==this.$images.length?(e.data("product_gallery",this),this.flexslider_enabled="function"==typeof t.fn.flexslider&&wc_single_product_params.flexslider_enabled,this.zoom_enabled="function"==typeof t.fn.zoom&&wc_single_product_params.zoom_enabled,this.photoswipe_enabled="undefined"!=typeof PhotoSwipe&&wc_single_product_params.photoswipe_enabled,i&&(this.flexslider_enabled=!1!==i.flexslider_enabled&&this.flexslider_enabled,this.zoom_enabled=!1!==i.zoom_enabled&&this.zoom_enabled,this.photoswipe_enabled=!1!==i.photoswipe_enabled&&this.photoswipe_enabled),1===this.$images.length&&(this.flexslider_enabled=!1),this.initFlexslider=this.initFlexslider.bind(this),this.initZoom=this.initZoom.bind(this),this.initZoomForTarget=this.initZoomForTarget.bind(this),this.initPhotoswipe=this.initPhotoswipe.bind(this),this.onResetSlidePosition=this.onResetSlidePosition.bind(this),this.getGalleryItems=this.getGalleryItems.bind(this),this.openPhotoswipe=this.openPhotoswipe.bind(this),this.trapFocusPhotoswipe=this.trapFocusPhotoswipe.bind(this),this.handlePswpTrapFocus=this.handlePswpTrapFocus.bind(this),this.flexslider_enabled?(this.initFlexslider(i.flexslider),e.on("woocommerce_gallery_reset_slide_position",this.onResetSlidePosition)):this.$target.css("opacity",1),this.zoom_enabled&&(this.initZoom(),e.on("woocommerce_gallery_init_zoom",this.initZoom)),this.photoswipe_enabled&&this.initPhotoswipe()):this.$target.css("opacity",1)};e.prototype.initFlexslider=function(e){var i=this.$target,o=this,a=t.extend({selector:".woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image",start:function(){i.css("opacity",1)},after:function(t){o.initZoomForTarget(o.$images.eq(t.currentSlide))}},e);i.flexslider(a),t(".woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:eq(0) .wp-post-image").one("load",function(){var e=t(this);e&&setTimeout(function(){var t=e.closest(".woocommerce-product-gallery__image").height(),i=e.closest(".flex-viewport");t&&i&&i.height(t)},100)}).each(function(){this.complete&&t(this).trigger("load")})},e.prototype.initZoom=function(){"complete"===document.readyState?this.initZoomForTarget(this.$images.first()):t(window).on("load",()=>{this.initZoomForTarget(this.$images.first())})},e.prototype.initZoomForTarget=function(e){if(!this.zoom_enabled)return!1;var i=this.$target.width(),o=!1;if(t(e).each(function(e,a){if(t(a).find("img").data("large_image_width")>i)return o=!0,!1}),o){var a=t.extend({touch:!1,callback:function(){var t=this;setTimeout(function(){t.removeAttribute("role"),t.setAttribute("alt",""),t.setAttribute("aria-hidden","true")},100)}},wc_single_product_params.zoom_options);"ontouchstart"in document.documentElement&&(a.on="click"),e.trigger("zoom.destroy"),e.zoom(a),setTimeout(function(){e.find(":hover").length&&e.trigger("mouseover")},100)}},e.prototype.initPhotoswipe=function(){this.zoom_enabled&&this.$images.length>0?(this.$target.prepend(''),this.$target.on("click",".woocommerce-product-gallery__trigger",this.openPhotoswipe),this.$target.on("click",".woocommerce-product-gallery__image a",function(t){t.preventDefault()}),this.flexslider_enabled||this.$target.on("click",".woocommerce-product-gallery__image a",this.openPhotoswipe)):this.$target.on("click",".woocommerce-product-gallery__image a",this.openPhotoswipe)},e.prototype.onResetSlidePosition=function(){this.$target.flexslider(0)},e.prototype.getGalleryItems=function(){var e=this.$images,i=[];return e.length>0&&e.each(function(e,o){var a=t(o).find("img");if(a.length){var r=a.attr("data-large_image"),n=a.attr("data-large_image_width"),s=a.attr("data-large_image_height"),l={alt:a.attr("alt"),src:r,w:n,h:s,title:a.attr("data-caption")?a.attr("data-caption"):a.attr("title")};i.push(l)}}),i},e.prototype.openPhotoswipe=function(e){e.preventDefault();var i,o=t(".pswp")[0],a=this.getGalleryItems(),r=t(e.target),n=e.currentTarget,s=this;i=0=i.length)){var o=i[0],a=i[i.length-1];"Tab"===t.key&&(t.shiftKey?document.activeElement===o&&(t.preventDefault(),a.focus()):document.activeElement===a&&(t.preventDefault(),o.focus()))}},t.fn.wc_product_gallery=function(t){return new e(this,t||wc_single_product_params),this},t(".woocommerce-product-gallery").each(function(){t(this).trigger("wc-product-gallery-before-init",[this,wc_single_product_params]),t(this).wc_product_gallery(wc_single_product_params),t(this).trigger("wc-product-gallery-after-init",[this,wc_single_product_params])})});;