(function($){const debounce=function(callback,wait,immediate){let timeout;return function(){const context=this,args=arguments;const later=function(){timeout=null;if(!immediate)callback.apply(context,args);};const callNow=immediate&&!timeout;clearTimeout(timeout);timeout=setTimeout(later,wait);if(callNow)callback.apply(context,args);}};const updateCartItem=async(input)=>{const url=window.BreakdanceFrontend.data.ajaxUrl;const hash=input.getAttribute("name").replace(/cart\[(\w+)]\[qty]/g,"$1");const newQty=parseFloat(input.value);const data=new FormData();data.append("action","breakdance_cart_update_qty");data.append("hash",hash);data.append("quantity",newQty);const payload={method:"POST",credentials:"same-origin",body:data};const{makeAjaxRequest}=window.BreakdanceFrontend.utils;await makeAjaxRequest(url,payload);$(document.body).trigger("wc_fragment_refresh");$(document.body).trigger("wc_update_cart")};const delayedUpdateCartItem=debounce((input)=>{updateCartItem(input);blockUI(input)},300);const afterInputChange=(input)=>{if(isLoopProduct(input)){getAddToCartButton(input)?.setAttribute("data-quantity",input.value)}else if(isSingleProduct(input)){}else{delayedUpdateCartItem(input)}};const isIncrement=(target)=>{return target.matches(".bde-quantity-button--inc")};const isSingleProduct=(input)=>{return!!input.closest("form.cart")};const isLoopProduct=(input)=>{return!!input.closest("li.product")};const blockUI=(input)=>{const row=input.closest(".woocommerce-mini-cart-item");$(row).block({message:null,overlayCSS:{opacity:0.6}})};const getAddToCartButton=(input)=>{return input.closest("li.product").querySelector(".add_to_cart_button")};const getQuantityInput=(event)=>{return event.target.parentElement.querySelector(".qty")};const onMaybeButtonClick=(event)=>{const isButton=event.target.matches(".bde-quantity-button");if(!isButton)return;event.preventDefault();const input=getQuantityInput(event);const action=isIncrement(event.target)?"stepUp":"stepDown";input[action]();const customEvent=new Event("change",{bubbles:!0,cancelable:!0});input.dispatchEvent(customEvent)};const onMaybeInputChange=(event)=>{const isInput=event.target.matches("input.qty");if(!isInput)return;afterInputChange(event.target)} const maybeReloadCart=()=>{const containsEl=document.querySelector(".bde-cart-contents");if(containsEl)location.reload();} addEventListener("DOMContentLoaded",()=>{addEventListener("change",onMaybeInputChange);addEventListener("click",onMaybeButtonClick);$(document.body).on("wc_cart_emptied",maybeReloadCart)})}(jQuery)); var mailchimp,mailchimp_cart,mailchimp_billing_email,mailchimp_username_email,mailchimp_registration_email,mailchimp_submitted_email=false,mailchimpReady=function(a){/in/.test(document.readyState)?setTimeout(()=>{mailchimpReady(a)},9):a()};function mailchimpGetCurrentUserByHash(a){try{if(!mailchimp_public_data.allowed_to_set_cookies)return;var b=mailchimp_public_data.ajax_url+"?action=mailchimp_get_user_by_hash&hash="+a,c=new XMLHttpRequest;c.open("POST",b,!0),c.onload=function(){if(c.status>=200&&c.status<400){var a=JSON.parse(c.responseText);if(!a)return;mailchimp_cart.valueEmail(a.email)&&mailchimp_cart.setEmail(a.email)}};c.onerror=function(){console.log("mailchimp.get_email_by_hash.request.error",c.responseText)};c.setRequestHeader("Content-Type","application/json");c.setRequestHeader("Accept","application/json");c.send()}catch(a){console.log("mailchimp.get_email_by_hash.error",a)}}function mailchimpHandleBillingEmail(selector){try{if(!mailchimp_public_data.allowed_to_set_cookies)return;if(mailchimp_public_data.disable_carts)return;var subscribed=document.querySelector("#mailchimp_woocommerce_newsletter");if(!subscribed)subscribed=document.querySelector("#subscribe-to-newsletter");if(!selector)selector="#billing_email";var a=document.querySelector(selector);var b=void 0!==a?a.value:"";if(!mailchimp_cart.valueEmail(b)||mailchimp_submitted_email===b){return false}mailchimp_cart.setEmail(b);var c=mailchimp_public_data.ajax_url+"?action=mailchimp_set_user_by_email";var d=new XMLHttpRequest;d.open("POST",c,!0);d.onload=function(){var successful=d.status>=200&&d.status<400;var msg=successful?"mailchimp.handle_billing_email.request.success":"mailchimp.handle_billing_email.request.error";if(successful){mailchimp_submitted_email=b}console.log(msg,d.responseText)};d.onerror=function(){console.log("mailchimp.handle_billing_email.request.error",d.responseText)};d.setRequestHeader("Content-Type","application/x-www-form-urlencoded");d.setRequestHeader("Accept","application/json");d.send("email="+b+"&mc_language="+mailchimp_public_data.language+"&subscribed="+(subscribed&&subscribed.checked?"1":"0"));return true}catch(a){console.log("mailchimp.handle_billing_email.error",a);mailchimp_submitted_email=!1}}!function(){"use strict";function mailchimpCart(){this.email_types="input[type=email]";this.regex_email=/^([A-Za-z0-9_+\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;this.current_email=null;this.previous_email=null;this.expireUser=function(){this.current_email=null;if(!mailchimp_public_data.allowed_to_set_cookies)return;mailchimp.storage.expire("mailchimp.cart.current_email")};this.expireSaved=function(){if(!mailchimp_public_data.allowed_to_set_cookies)return;mailchimp.storage.expire("mailchimp.cart.items")};this.setEmail=function(a){if(!mailchimp_public_data.allowed_to_set_cookies)return;if(!this.valueEmail(a))return false;this.setPreviousEmail(this.getEmail());mailchimp.storage.set("mailchimp.cart.current_email",this.current_email=a)};this.getEmail=function(){if(!mailchimp_public_data.allowed_to_set_cookies)return;if(this.current_email)return this.current_email;var a=mailchimp.storage.get("mailchimp.cart.current_email",!1);if(!a||!this.valueEmail(a))return false;return this.current_email=a};this.setPreviousEmail=function(a){if(!mailchimp_public_data.allowed_to_set_cookies)return;if(!this.valueEmail(a))return false;mailchimp.storage.set("mailchimp.cart.previous_email",this.previous_email=a)};this.valueEmail=function(a){return this.regex_email.test(a)};return this}var g={extend:function(a,b){for(var c in b||{})b.hasOwnProperty(c)&&(a[c]=b[c]);return a},getQueryStringVars:function(){var a=window.location.search||"",b=[],c={};if(a=a.substr(1),a.length){b=a.split("&");for(var d in b){var e=b[d];if("string"==typeof e){var f=e.split("="),g=f[0],h=f[1];g.length&&("undefined"==typeof c[g]&&(c[g]=[]),c[g].push(h))}}}return c},unEscape:function(a){return decodeURIComponent(a)},escape:function(a){return encodeURIComponent(a)},createDate:function(a,b){a||(a=0);var c=new Date,d=b?c.getDate()-a:c.getDate()+a;return c.setDate(d),c},arrayUnique:function(a){for(var b=a.concat(),c=0;c=maxAttempts){reject(new Error('Pixel SDK not available'));return} const delay=Math.min(initialDelayMs*Math.pow(2,attempt),maxDelayMs);attempt+=1;setTimeout(scheduleCheck,delay)} scheduleCheck()})},isPixelSDKReady:function(){return typeof window.$mcSite!=='undefined'&&window.$mcSite.pixel&&typeof window.$mcSite.pixel.api!=='undefined'&&typeof window.$mcSite.pixel.api.track==='function'},getCartId:function(){return window.mcPixel&&window.mcPixel.cartId?window.mcPixel.cartId:''},getRestBase:function(){return(window.mcPixelConfig&&window.mcPixelConfig.restBase)||'/wp-json/mailchimp-for-woocommerce/v1/'},sendPageEvents:function(){if(!window.mcPixel||!window.mcPixel.data){return} const data=window.mcPixel.data;const events=data.events||[];events.forEach((eventType)=>{switch(eventType){case 'PRODUCT_ADDED_TO_CART':if(data.added_to_cart){var atcItems=Array.isArray(data.added_to_cart)?data.added_to_cart:[data.added_to_cart];for(var ai=0;ai{console.error('Mailchimp Pixel: Error tracking PRODUCT_VIEWED',error)})},sendProductAddedToCart:function(product){if(!this.isPixelSDKReady())return;const cartId=this.getCartId();const eventData={cartId:cartId,product:{item:{id:product.id,productId:product.productId,title:product.title,price:product.price,currency:product.currency,sku:product.sku||''},quantity:product.quantity||1,price:product.price*(product.quantity||1),currency:product.currency}};window.$mcSite.pixel.api.track('PRODUCT_ADDED_TO_CART',eventData).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PRODUCT_ADDED_TO_CART',error)})},sendProductRemovedFromCart:function(product){if(!this.isPixelSDKReady())return;const cartId=this.getCartId();const eventData={cartId:cartId,product:{item:{id:product.id,productId:product.productId,title:product.title,price:product.price,currency:product.currency,sku:product.sku||''},quantity:product.quantity||1,price:product.price*(product.quantity||1),currency:product.currency}};window.$mcSite.pixel.api.track('PRODUCT_REMOVED_FROM_CART',eventData).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PRODUCT_REMOVED_FROM_CART',error)})},sendCartViewed:function(cart){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('CART_VIEWED',{cart:cart}).catch((error)=>{console.error('Mailchimp Pixel: Error tracking CART_VIEWED',error)})},sendCheckoutStarted:function(checkout){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('CHECKOUT_STARTED',{checkout:checkout}).catch((error)=>{console.error('Mailchimp Pixel: Error tracking CHECKOUT_STARTED',error)})},sendIdentityEvent:function(email){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.identify({type:'EMAIL',value:email})},sendPurchased:function(order){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('PURCHASED',{order:order}).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PURCHASED',error)})},sendCategoryViewed:function(category){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('PRODUCT_CATEGORY_VIEWED',category).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PRODUCT_CATEGORY_VIEWED',error)})},sendSearchSubmitted:function(search){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('SEARCH_SUBMITTED',search).catch((error)=>{console.error('Mailchimp Pixel: Error tracking SEARCH_SUBMITTED',error)})},findProductById:function(productId){if(!window.mcPixel||!window.mcPixel.data||!window.mcPixel.data.products){return null} const products=window.mcPixel.data.products;const id=String(productId);for(let i=0;i{"use strict";const e=window.wp.hooks,t="mailchimp-woocommerce";let i=!1;function c(){return void 0!==window.$mcSite&&window.$mcSite.pixel&&void 0!==window.$mcSite.pixel.api&&"function"==typeof window.$mcSite.pixel.api.track}function r(){return window.mcPixel&&window.mcPixel.cartId?window.mcPixel.cartId:""}function n(e,t){i&&c()&&window.$mcSite.pixel.api.track(e,t).catch(function(t){console.error("Mailchimp Pixel Blocks: Error tracking "+e,t)})}function o(e){const t=e.prices||{},i=t.currency_minor_unit||2,c=Math.pow(10,i),r=t.price?parseInt(t.price,10)/c:0;return{id:String(e.id),productId:String(e.id),title:e.name||"",price:r,currency:(t.currency_code||"").toUpperCase(),sku:e.sku||"",imageUrl:e.images&&e.images.length>0?e.images[0].src:"",productUrl:e.permalink||"",vendor:"",categories:[]}}function d(e){const t=e.prices||{},i=t.currency_minor_unit||2,c=Math.pow(10,i),r=t.line_total?parseInt(t.line_total,10)/c:0;return{item:o(e),quantity:e.quantity||1,price:r,currency:(t.currency_code||"").toUpperCase()}}(0,e.addAction)("experimental__woocommerce_blocks-cart-add-item",t,function(e){if(!i)return;if(window.mcPixel&&window.mcPixel._handled.addToCart)return;const t=e.product;if(!t)return;const c=function(e){const t=e.prices||{},i=t.currency_minor_unit||2,c=Math.pow(10,i),r=t.price?parseInt(t.price,10)/c:0;return{id:String(e.id),productId:String(e.id),title:e.name||"",price:r,currency:(t.currency_code||"").toUpperCase(),sku:e.sku||"",imageUrl:e.images&&e.images.length>0?e.images[0].src:"",productUrl:e.permalink||"",vendor:"",categories:(e.categories||[]).map(function(e){return e.name||""})}}(t),o=e.quantity||1;n("PRODUCT_ADDED_TO_CART",{cartId:r(),product:{item:{id:c.id,productId:c.productId,title:c.title,price:c.price,currency:c.currency,sku:c.sku},quantity:o,price:c.price*o,currency:c.currency}}),window.mcPixel&&(window.mcPixel._handled.addToCart=!0,setTimeout(function(){window.mcPixel._handled.addToCart=!1},1e3))}),(0,e.addAction)("experimental__woocommerce_blocks-cart-remove-item",t,function(e){if(!i)return;if(window.mcPixel&&window.mcPixel._handled.removeFromCart)return;const t=e.product;if(!t)return;const c=o(t),d=e.quantity||1;n("PRODUCT_REMOVED_FROM_CART",{cartId:r(),product:{item:{id:c.id,productId:c.productId,title:c.title,price:c.price,currency:c.currency,sku:c.sku},quantity:d,price:c.price*d,currency:c.currency}}),window.mcPixel&&(window.mcPixel._handled.removeFromCart=!0,setTimeout(function(){window.mcPixel._handled.removeFromCart=!1},1e3))}),(0,e.addAction)("experimental__woocommerce_blocks-checkout-render-checkout-form",t,function(e){if(!i)return;if(window.mcPixel&&window.mcPixel._handled.checkout)return;const t=e.storeCart;t&&t.cartItems&&0!==t.cartItems.length&&(n("CHECKOUT_STARTED",{checkout:function(e){const t=e.cartTotals||{},i=t.currency_minor_unit||2,c=Math.pow(10,i),n=(e.cartItems||[]).map(d),o=r();return{id:"checkout_"+o,cartId:o,lineItems:n,subtotalPrice:t.total_items?parseInt(t.total_items,10)/c:0,totalTax:t.total_tax?parseInt(t.total_tax,10)/c:0,totalShipping:t.total_shipping?parseInt(t.total_shipping,10)/c:0,totalPrice:t.total_price?parseInt(t.total_price,10)/c:0,currency:(t.currency_code||"").toUpperCase()}}(t)}),window.mcPixel&&(window.mcPixel._handled.checkout=!0))}),(0,e.addAction)("experimental__woocommerce_blocks-product-list-render",t,function(){i&&(window.mcPixel&&window.mcPixel._handled.category||window.mcPixel&&window.mcPixel.data&&window.mcPixel.data.category&&(n("PRODUCT_CATEGORY_VIEWED",window.mcPixel.data.category),window.mcPixel&&(window.mcPixel._handled.category=!0)))}),(0,e.addAction)("experimental__woocommerce_blocks-product-search",t,function(e){if(!i)return;if(window.mcPixel&&window.mcPixel._handled.search)return;const t=e.searchTerm||"";t&&(n("SEARCH_SUBMITTED",{query:t}),window.mcPixel&&(window.mcPixel._handled.search=!0))}),function(){let e=0;!function t(){if(c())return void setTimeout(function(){i=!0},1e3);if(e>=20)return;const r=Math.min(100*Math.pow(2,e),5e3);e+=1,setTimeout(t,r)}()}()})();