jQuery(document).ready(function($){
var focus_qty;
function open_popup(){
$('.xoo-cp-opac').show();
$('.xoo-cp-modal').addClass('xoo-cp-active');
}
$(document.body).on('added_to_cart',function(){
open_popup();
});
function close_popup(e){
$.each(e.target.classList,function(key,value){
if(value=='xoo-cp-close'||value=='xoo-cp-modal'){
$('.xoo-cp-opac').hide();
$('.xoo-cp-modal').removeClass('xoo-cp-active');
$('.xoo-cp-atcn , .xoo-cp-content').html('');
}})
}
$(document).on('click','.xoo-cp-close , .xoo-cp-modal',close_popup);
function block_popup(){
$('.xoo-cp-outer').show();
}
function unblock_popup(){
$('.xoo-cp-outer').hide();
}
function reset_cart(atc_btn){
$('.xoo-cp-added',atc_btn).remove();
var qty_elem=atc_btn.parents('form.cart').find('.qty');
if(qty_elem.length > 0) qty_elem.val(qty_elem.attr('min')||1);
$('.added_to_cart').remove();
}
function show_notice(notice_type,notice){
$('.xoo-cp-notice').html(notice).attr('class','xoo-cp-notice').addClass('xoo-cp-nt-'+notice_type);
$('.xoo-cp-notice-box').fadeIn('fast');
clearTimeout(fadenotice);
var fadenotice=setTimeout(function(){
$('.xoo-cp-notice-box').fadeOut('slow');
},3000);
};
function add_to_cart(atc_btn,form_data){
$(document.body).trigger('adding_to_cart', [ atc_btn, form_data ]);
$.ajax({
url: xoo_cp_localize.wc_ajax_url.toString().replace('%%endpoint%%', 'xoo_cp_add_to_cart'),
type: 'POST',
data: $.param(form_data),
success: function(response){
$('.xoo-cp-adding',atc_btn).remove();
if(response.fragments){
$(document.body).trigger('added_to_cart', [ response.fragments, response.cart_hash, atc_btn ]);
atc_btn.append('<span class="xoo-cp-icon-check xoo-cp-added"></span>');
}
else if(response.error){
show_notice('error',response.error)
}else{
console.log(response);
}
if(xoo_cp_localize.reset_cart) reset_cart(atc_btn);
}})
}
$(document).on('submit','form.cart',function(e){
var form=$(this);
var atc_btn=form.find('button[type="submit"]');
var form_data=form.serializeArray();
if(atc_btn.attr('name')&&atc_btn.attr('name')=='add-to-cart'&&atc_btn.attr('value')){
form_data.push({ name: 'add-to-cart', value: atc_btn.attr('value') });
}
var is_valid=false;
$.each(form_data, function(index, data){
if(data.name==="add-to-cart"){
is_valid=true;
return false;
}})
if(is_valid){
e.preventDefault();
}else{
return;
}
$('.xoo-cp-added',atc_btn).remove();
atc_btn.append('<span class="xoo-cp-icon-spinner xoo-cp-adding" aria-hidden="true"></span>');
form_data.push({name: 'action', value: 'xoo_cp_add_to_cart'});
add_to_cart(atc_btn,form_data);
})
function xoo_cp_update_ajax(cart_key,new_qty,pid){
return $.ajax({
url: xoo_cp_localize.adminurl,
type: 'POST',
data: {action: 'xoo_cp_change_ajax',
cart_key: cart_key,
new_qty: new_qty,
pid: pid
}})
}
function update_cart(cart_key,new_qty){
block_popup();
$.ajax({
url: xoo_cp_localize.wc_ajax_url.toString().replace('%%endpoint%%', 'xoo_cp_update_cart'),
type: 'POST',
data: {
cart_key: cart_key,
new_qty: new_qty
},
success: function(response){
if(response.fragments){
var fragments=response.fragments,
cart_hash=response.cart_hash;
$.each(response.fragments, function(key, value){
$(key).replaceWith(value);
$(key).stop(true).css('opacity', '1').unblock();
});
if(wc_cart_fragments_params){
var cart_hash_key=wc_cart_fragments_params.ajax_url.toString() + '-wc_cart_hash';
sessionStorage.setItem(wc_cart_fragments_params.fragment_name, JSON.stringify(fragments));
localStorage.setItem(cart_hash_key, cart_hash);
sessionStorage.setItem(cart_hash_key, cart_hash);
}
$(document.body).trigger('wc_fragments_loaded');
}else{
console.log(response);
}
unblock_popup();
}})
}
$(document).on('focusin','.xoo-cp-qty',function(){
focus_qty=$(this).val();
})
$(document).on('change','.xoo-cp-qty',function(e){
var _this=$(this);
var new_qty=parseFloat($(this).val());
var step=parseFloat($(this).attr('step'));
var min_value=parseFloat($(this).attr('min'));
var max_value=parseFloat($(this).attr('max'));
var invalid=false;
if(new_qty===0){
_this.parents('.xoo-cp-pdetails').find('.xoo-cp-remove-pd').trigger('click');
return;
}
else if(isNaN(new_qty)||new_qty < 0){
invalid=true;
}
else if(new_qty > max_value&&max_value > 0){
alert('Maximum Quantity: '+max_value);
invalid=true;
}
else if(new_qty < min_value){
invalid=true;
}
else if((new_qty % step)!==0){
alert('Quantity can only be purchased in multiple of '+step);
invalid=true;
}else{
var cart_key=$(this).parents('tr').data('xoo_cp_key');
update_cart(cart_key,new_qty);
}
if(invalid===true){
$(this).val(focus_qty);
}})
$(document).on('click', '.xcp-chng' ,function(){
var _this=$(this);
var qty_element=_this.siblings('.xoo-cp-qty');
qty_element.trigger('focusin');
var input_qty=parseFloat(qty_element.val());
var step=parseFloat(qty_element.attr('step'));
var min_value=parseFloat(qty_element.attr('min'));
var max_value=parseFloat(qty_element.attr('max'));
if(_this.hasClass('xcp-plus')){
var new_qty=input_qty + step;
if(new_qty > max_value&&max_value > 0){
alert('Maximum Quantity: '+max_value);
return;
}}
else if(_this.hasClass('xcp-minus')){
var new_qty=input_qty - step;
if(new_qty===0){
_this.parents('.xoo-cp-pdetails').find('.xoo-cp-remove .xcp-icon').trigger('click');
return;
}
else if(new_qty < min_value){
return;
}
else if(input_qty < 0){
alert('Invalid');
return;
}}
var cart_key=$(this).parents('tr').data('xoo_cp_key');
update_cart(cart_key,new_qty);
})
$(document).on('click','.xoo-cp-remove-pd',function(e){
e.preventDefault();
var cart_key=$(this).parents('tr').data('xoo_cp_key');
update_cart(cart_key,0);
})
});
(()=>{"use strict";var e={d:(t,d)=>{for(var o in d)e.o(d,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:d[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};function d(e){"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",e):e())}e.d(t,{default:()=>d}),(window.wp=window.wp||{}).domReady=t.default})();
(()=>{var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var o in a)e.o(a,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:a[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};(()=>{"use strict";const t=window.wp.domReady;var a=e.n(t);const o=()=>window.location.href!==window.parent.location.href,n="starter-templates-iframe-preview-data",r=()=>{let e="";const t=document.querySelector(".site-logo-img img");return t&&(e=t.src),e};let s=r();const l=(e,t)=>{if(!e)return"";if(e){const a=e.match(/'([^']+)'/);return a?a[1]:"inherit"===e?t:e}return t||void 0},i=e=>{switch(e.value.param){case"siteLogo":const t=document.querySelectorAll(".site-logo-img img");""===s&&(s=r());let a=e.value.data.url||s;if(a=e.value.data.dataUri||a,0===t.length&&""!==a){const t=document.createElement("span");t.classList.add("site-logo-img");const o=document.createElement("a");o.setAttribute("class","custom-logo-link"),o.setAttribute("href","#"),o.setAttribute("aria-current","page"),t.appendChild(o);const n=document.createElement("img");n.classList.add("custom-logo"),n.setAttribute("src",a),o.appendChild(n);const r=document.getElementById("ast-desktop-header").querySelectorAll(".ast-site-identity")[0],s=r.querySelectorAll(".ast-site-title-wrap")[0];r.insertBefore(t,s);const l=e.value.data.width||"";""!==l&&(n.style.width=l+"px",n.style.maxWidth=l+"px")}else if(""!==a)for(const[o,n]of Object.entries(t)){n.removeAttribute("srcset"),n.setAttribute("src",a);const t=e.value.data.width;""!==t&&(n.style.width=t+"px",n.style.maxWidth=t+"px")}break;case"colorPalette":const o=e.value.data.colors||[],n=starter_templates_zip_preview.AstColorPaletteVarPrefix,i=starter_templates_zip_preview.AstEleColorPaletteVarPrefix;if(0===o.length){document.querySelector("body").classList.remove("starter-templates-preview-palette");const e=document.getElementsByClassName("starter-templates-preview-palette");return void(e.length>0&&e[0].remove())}document.querySelector("body").classList.add("starter-templates-preview-palette");const d=Object.entries(o).map(((e,t)=>[`--e-global-color-${i[t].replace(/-/g,"")}: ${e[1]};`,`${n}${t}: ${e[1]};`])).map((e=>e.join(""))).join("");let c=document.getElementById("starter-templates-preview-palette-css");c||(c=document.createElement("style"),c.id="starter-templates-preview-palette-css",c.setAttribute("rel","stylesheet"),document.head.appendChild(c)),c.innerHTML=`.starter-templates-preview-palette{ ${d}}`;break;case"siteTypography":if(!Object.keys(e.value.data).length){const e=document.getElementById("starter-templates-typography");return void(e&&e.remove())}(e=>{if(!e)return;if(!document.getElementById("google-fonts-domain")){const e=document.createElement("link");e.id="google-fonts-domain",e.setAttribute("rel","preconnect"),e.setAttribute("href","https://fonts.gstatic.com"),document.head.appendChild(e)}let t=document.getElementById("st-previw-google-fonts-url");t||(t=document.createElement("link"),t.id="st-previw-google-fonts-url",t.setAttribute("rel","stylesheet"),document.head.appendChild(t));const a=[];let o=e["body-font-family"]||"",n=parseInt(e["body-font-weight"])||"";n&&(n=`:wght@${n}`),o&&(o=l(o),o=o.replace(" ","+"),a.push(`family=${o}${n}`));let r=e["headings-font-family"]||"",s=parseInt(e["headings-font-weight"])||"";s&&(s=`:wght@${s}`),r&&(r=l(r,o),r=r.replace(" ","+"),a.push(`family=${r}${s}`));const i=`https://fonts.googleapis.com/css2?${a.join("&")}&display=swap`;t.setAttribute("href",i)})(e.value.data),(e=>{if(!e)return;let t=document.getElementById("starter-templates-typography");t||(t=document.createElement("style"),t.id="starter-templates-typography",t.setAttribute("rel","stylesheet"),document.head.appendChild(t));let a="";a+="body, button, input, select, textarea, .ast-button, .ast-custom-button {",a+="\tfont-family: "+e["body-font-family"]+";",a+="\tfont-weight: "+e["body-font-weight"]+";",a+="\tfont-size: "+e["font-size-body"].desktop+e["font-size-body"]["desktop-unit"]+";",a+="\tline-height: "+e["body-line-height"]+";",a+="}",a+="h1, .entry-content h1, h2, .entry-content h2, h3, .entry-content h3, h4, .entry-content h4, h5, .entry-content h5, h6, .entry-content h6, .site-title, .site-title a {",a+="\tfont-family: "+e["headings-font-family"]+";",a+="\tline-height: "+e["headings-line-height"]+";",a+="\tfont-weight: "+e["headings-font-weight"]+";",a+="}",["h1","h2","h3","h4","h5","h6"].forEach((t=>{const o="inherit"===e["font-family-"+t]?e["headings-font-family"]:e["font-family-"+t],n="inherit"===e["font-weight-"+t]?e["headings-font-weight"]:e["font-weight-"+t];let r="";void 0!==o&&""!==o&&(r+=`${t}, .entry-content ${t} {`,r+="\tfont-family: "+o+";"),void 0!==e["line-height-"+t]&&""!==e["line-height-"+t]&&(r+="\tline-height: "+e["line-height-"+t]+";"),void 0!==n&&""!==n&&(r+="\tfont-weight: "+n+";"),a+=""!==r?r+"}":""})),t.innerHTML=a})(e.value.data);break;case"siteTitle":(e=>{const t=document.getElementById("ast-desktop-header"),a=t&&t.querySelectorAll(".ast-site-identity")[0],o=a&&a.querySelectorAll(".ast-site-title-wrap")[0];o&&(o.style.display=e?"block":"none")})(e.value.data);break;case"clearPreviewAssets":const m=document.getElementById("starter-templates-typography");m&&m.remove(),document.querySelector("body").classList.remove("starter-templates-preview-palette");const p=document.getElementsByClassName("starter-templates-preview-palette");p.length>0&&p[0].remove();break;case"completeOnboarding":localStorage.removeItem("starter-templates-iframe-preview-data")}};window.addEventListener("message",(function(e){if(o()&&(console.log("addEventListener message: ",e),"object"==typeof e.data&&"starterTemplatePreviewDispatch"===e.data.call)){const t=e.data;let a=JSON.parse(localStorage.getItem(n));null===a&&(a={},a.data={}),a.data[t.value.param]=t.value.data,delete a.data.clearPreviewAssets,t.url=window.location.origin,a.url=window.location.origin,"cleanStorage"===t.value.param?(delete a.data.cleanStorage,a.data.siteLogo=t.value.data,a.data.colorPalette={},a.data.siteTypography={},Object.keys(a.data).map((e=>i({value:{param:e,data:a.data[e]}})))):i(t),localStorage.setItem(n,JSON.stringify(a))}}),!1),a()((()=>{if(!o())return;const e=document.createElement("style");e.id="starter-templates-logo-css",document.getElementsByTagName("head")[0].appendChild(e),e.innerHTML=".site-logo-img img { transition: unset; } #wpadminbar { display: none; } html{  margin-top: 0 !important; }}";const t=(a=n,JSON.parse(localStorage.getItem(a)));var a;t&&Object.keys(t.data).map((e=>i({value:{param:e,data:t.data[e]}})))}))})()})();