").attr("title",f).addClass("spb-productdescfont").addClass("spb-productdesctextcolor").addClass("spb-tooltip").append('ⓘ
'+f+"");switch(t.type){case"text":s.push(e._createTextInput(t.name,t["default"],t.placeholder,t.maxlength,t.required,p));break;case"number":s.push(e._createNumberInput(t.name,t["default"],t.placeholder,t.min,t.max,t.required,p));break;case"textarea":s.push(e._createTextArea(t.name,t["default"],t.placeholder,t.maxlength,t.required,p));break;case"date":s.push(e._createDateInput(t.name,t["default"],t.placeholder,t.required,p));break;case"radio":var g=e.createRadioList(t,c,p,e._createRadioButton);window.Shoppad.$.merge(s,g);break;case"swatch":if(t.multi){var v=e.createCheckboxList(t,c,e._createSwatch);s.push(v)}else{var g=e.createRadioList(t,c,p,e._createSwatch);window.Shoppad.$.merge(s,g)}break;case"checkbox":var v=e.createCheckboxList(t,c,e._createCheckboxButton);s.push(v);break;case"select":var m=e._createSelectMenu(t.name,t.values,t.placeholder,t.required,p);s.push(m);break;case"upload":window.Shoppad.$.merge(s,e._createUploadInput(t.name,t.required,p));break;case"uploadery":var y=e._createUploaderyStubContainer("string"==typeof t.stub_input_id&&t.stub_input_id?t.stub_input_id:t.stub_input_id.$oid);s.push(y)}if(s.length){var w=t["class"]||"",b=window.Shoppad.$("
").addClass(w);if("uploadery"!==t.type)if("tooltip"===u){var x=window.Shoppad.$("
").addClass("spb-label-tooltip").append(c).append(h);b.append(x)}else b.append(c);b.append("
"),("radio"==t.type||"swatch"==t.type&&!t.multi)&&b.attr("role","group").attr("aria-labelledby",p),"below"===u?b.find("span").append(s).append(h):b.find("span").not(".spb-tooltiptext").append(s),conditionalLogicInstances[r].register(t,b,s),d(t,b,o,r,l)}}};function t(){var e=$('form[action$="/cart/add"]');return e.length>1&&(e.filter("[id*=product-form-installment]").length?(e=e.filter(":not([id*=product-form-installment])"),spLog(!0,"Dawn, Colorblock or Ride theme: found multiple forms, inserting the container into the first non #product-form-installment form",!0)):spLog(!0,"Found multiple product forms, inserting the container into the first",!0),e=e.filter(":first")),e}function n(e){return Math.round(e/1048576*10)/10+"MB"}function i(e){var t=e.split(".").pop().toLowerCase(),n=uploadConfig.contentTypes||{};
return n[t]||"binary/octet-stream"}function o(e){var t=window.Shoppad.apps.infiniteoptions.strings.errorMessages,i=uploadConfig.maxFilesize||4194304,o=uploadConfig.accept||"";if(e.size>i)return t.forFileTooLarge.replace("%maxfilesize",n(i));var r="."+e.name.split(".").pop().toLowerCase();return o&&o.split(",").indexOf(r)===-1?t.forFileType:""}function r(e,t,n,o){var r=window.Shoppad.apps.infiniteoptions,a=function(e,t){spLog(t,"Upload failed: "+e,!0),n.removeAttr("data-uploading").val(""),o.val(""),r.toggleInputError(n,!1),window.alert(r.strings.errorMessages.forFileUploadFailed)};n.attr("data-uploading","true"),$.ajax({url:uploadConfig.signPath,type:"POST",dataType:"json",data:{name:e.name,uuid:UUID,token:uploadConfig.signToken}}).fail(function(e){a("signing request rejected",e&&e.status)}).done(function(s){var p="https://customizery.s3.theshoppad.net/",d=p+s.signedKey,l=new FormData;l.append("key",s.signedKey),l.append("AWSAccessKeyId",s.accesskey),l.append("acl","public-read"),l.append("Content-Type",i(e.name)),l.append("success_action_status","200"),l.append("policy",s.policy),l.append("signature",s.signature),l.append("file",e),$.ajax({url:uploadConfig.postUrl,type:"POST",data:l,processData:!1,contentType:!1}).fail(function(e){a("S3 rejected the upload",e&&e.status)}).done(function(){n.removeAttr("data-uploading"),o.val(d),r.toggleInputError(n,!0),eventApi.fieldChange({name:t,value:d,element:n.closest("div")})})})}function a(e,n){var i="div",o="infiniteoptions-container",r=null,a=window.Shoppad.apps.infiniteoptions;if(a.insertContainerAfter){var s=$(a.insertContainerAfter).filter(":first").next(".infiniteoptions-auto-insert");0===s.length?(spLog(a.insertContainerAfter,"Container insert location specified, inserting infiniteoptions-container after it",!0),r=$("<"+i+" id="+o+' class="infiniteoptions-auto-insert">'+i+">"),r.insertAfter(a.insertContainerAfter+":first")):r=s}else if(n&&"default"!==n)r=$("[data-infinite-options-container-id="+n+"]");else if($("div[data-infinite-options]").length&&e)r=$("div[data-infinite-options="+e+"]");else if($("#"+o).length>0)r=$("#"+o);else{if(!$('form[action$="/cart/add"]').length)throw"IO could not find product form to insert #infiniteoptions-container";if(a.appEmbedActive){spLog(!0,"App embed active, could not find #"+o+", inserting one above the Add to cart button",!0);var p=t(),d=$(a.addToCartButton).filter(":first");d.length&&$.contains(p[0],d[0])||(d=p.find("button[name=add], input[name=add]").filter(":first"),d.length||(d=p.find("[type=submit]").filter(":first"))),r=$("<"+i+" id="+o+">"+i+">"),d.length?d.before(r):p.prepend(r)}else 0==customizeryConfig.autoInject?spLog(!0,"New install (config.autoInject is false), we require installation of the theme app embed, app block or code snippet",!0):(spLog(!0,"Could not find #"+o+", automatically inserting one",!0),$form=t(),r=$("<"+i+" id="+o+">"+i+">"),$form.find("div#product-variants").length?$form.find("div#product-variants").first().prepend(r):$form.find("div#product-options").length?$form.find("div#product-options").first().prepend(r):$form.find("div.product-options").length?$form.find("div.product-options").first().prepend(r):$form.prepend(r))}var l;if((window.Shoppad.apps.infiniteoptions.themeAppExtensionActive||a.appEmbedActive)&&!window.Shoppad.apps.infiniteoptions.themeAppExtensionCheckRan&&!window.Shoppad.apps.infiniteoptions.themeAppExtensionId){if(l=r.attr("form"),!l){var c=r.parents("form");c.length?(1===c.length?spLog(!0,"Theme app block extension (theme 2.0) infiniteoptions-container already inside a form",!0):spLog(!0,"Theme app block extension (theme 2.0) infiniteoptions-container already inside a form. WARNING: multiple parent forms may not work properly with IO submissions",!0),l=$(c[0]).attr("id")):$('form[action*="/cart/add"]').each(function(){if(!l){var e=$(this).attr("id");e&&($("input[form='"+e+"'], select[form='"+e+"']").length?(spLog(!0,"Theme app block extension (theme 2.0) form ID found by locating [form=] inputs",!0),$("input[type=submit],button[type=submit]",$(this)).length&&(l=e)):e.match(/^(?!ProductFormUpsell[-_]+)((AddToCart|product|add[-_]item|BuyButtons)[-_]{0,2}?(form|ProductForm)?([-_]buttons)?([-_]{0,2}template)?[-_]*[0-9A-Za-z]{6,}([-_]{0,2}[0-9A-Za-z]{6,})?|product-form)/i)&&$("input[type=submit],button[type=submit]",$(this)).length&&(spLog(e,"Theme app block extension (theme 2.0) product form ID found by regex",!0),l=e))}})}l?(r.attr("form",l),window.Shoppad.apps.infiniteoptions.themeAppExtensionId=l):(spLog($('form[action$="/cart/add"]'),"Container is placed as a theme app block extension (theme 2.0), but required form elements were not found. Try using the runtime config code snippet for themeAppExtensionId to manually set this",!0),adminPreview.isPreviewActive()&&adminPreview.insert("themeAppExtensionNotFound"))}return window.Shoppad.apps.infiniteoptions.themeAppExtensionId&&!window.Shoppad.apps.infiniteoptions.themeAppExtensionCheckRan&&(l?spLog(!0,"Container is placed as a theme app block extension (theme 2.0)",!0):spLog(!0,"Container is placed as a theme app block extension (theme 2.0), and using themeAppExtensionId from runtime config code snippet",!0)),window.Shoppad.apps.infiniteoptions.themeAppExtensionCheckRan=!0,customizeryConfig&&customizeryConfig.currentTheme&&(window.Shoppad.apps.infiniteoptions.themeName=customizeryConfig.currentTheme),r}function s(e,t,n){var i=conditionalLogicInstances[n],e=e||a(t,n);if(i.active&&!e.hasClass("io-inputs-loading")){window.Shoppad.apps.infiniteoptions.containerCssDisplay=e.css("display");var o=e[0];o.style.setProperty("display","none","important"),e.addClass("io-inputs-loading")}}function p(e,t){var n=conditionalLogicInstances[t];n.active&&n.runAfterTimeouts(function(){$formContainer=a(e,t);var n=$formContainer[0];n.style.removeProperty("display"),"none"!==window.Shoppad.apps.infiniteoptions.containerCssDisplay&&n.style.setProperty("display",window.Shoppad.apps.infiniteoptions.containerCssDisplay||"block",""),$formContainer.removeClass("io-inputs-loading")})}function d(e,t,n,i,o){var o=o||a(n,i),r=conditionalLogicInstances[i];o&&(s(o,n,i),o.append(t),eventApi.fieldLoad({name:e.name,element:t,fieldConfig:e,hasConditionalLogic:!!r.reactions[e.name]}))}function l(n,i,o,r,a){var s=$('[id="infiniteoptions-container"]');s.length>1&&spLog(!0,"Multiple #infiniteoptions-container containers, please remove duplicate containers",!0),s.empty();var d=!1,l=!1,u=conditionalLogicInstances[o];customizeryConfig.shopifyCartTransform?spLog(!0,"Native Bundling enabled",!0):spLog(!0,"Legacy Bundling enabled",!0);var f=n.filter(function(e,t){return!(!e.inputs||!e.inputs.length)&&(u.init(e.inputs,!t),!0)});r&&$.each(f,function(e,t){customizeryRules.configHasVariantRule(t)&&u.registerSetGate(t.inputs,function(e){return customizeryRules.setAppliesToVariant(t,r,e)})}),a?u.ignoreVariantRules():u.attachVariantSource({$form:t(),product:r,getForm:t});var h=f.map(function(t,n){return $.each(t.inputs,function(t,r){e.add(this,{uuid:UUID},n+"-"+t,i,o),r&&r.help_text_display&&""!==r.help_text_display&&r.help_text&&""!==r.help_text&&(l=!0),"swatch"===r.type&&(d=!0)}),t.inputs});window.Shoppad.apps.infiniteoptions._fieldsReady=!0,p(i,o),_(),"function"==typeof window.Shoppad.apps.infiniteoptions.ready&&(window.Shoppad.apps.infiniteoptions.ready.call($("#infiniteoptions-container"),Array.prototype.concat.apply([],h)),datePicker.hasDatePicker(h)&&datePicker.fixLegacyHandlers()),"function"==typeof window.Shoppad.apps.infiniteoptions.uploaderyReady&&window.Shoppad.apps.infiniteoptions.uploaderyReady.call($("#infiniteoptions-container"),Array.prototype.concat.apply([],h)),c(d,l),eventApi.appLoad({fields:h,hasConditionalLogic:u.active,hasBundledProducts:!!priceMod.activeVariants.length})}function c(e,t){customizeryConfig.css&&customizeryConfig.css.length&&$("head").append(""),e&&$("head").append(''),t&&$("head").append('')}function u(e){if(!e||!e.length)return e;var t=new Map,n=new Map,i=$('[id="infiniteoptions-container"]').closest("form");return i.length>0&&$(i).find(":input").each(function(e,t){if(t.name&&t.name.indexOf("properties[")>-1&&0===$(t).parents("#infiniteoptions-container").length){const i=t.name.match(/^properties\[(.+)\]$/),o=i?i[1]:t.name;n.set(o,[t.name])}}),$.each(e,function(e,i){if(i.inputs&&i.inputs.length){var o=!1,r=!0;$.each(i.inputs,function(e,i){var a=i.name;if(n.has(a)?(r=!1,o=!0):t.has(a)?(r=!0,o=!0):o=!1,o){if(t.has(a))var s=t.get(a);else var s={existing_entries:[],is_io_duplicate:r};s.existing_entries.push(a);var p=r?"_io_duplicate":"_third_party_duplicate",d=r?s.existing_entries.length-1:s.existing_entries.length,l=a+"_"+d+p;spLog(!0,(r?"IO":"Third party")+" field already exists with name "+a+". Renaming IO field with name:"+l,!0),t.set(a,s),i.name=l}else t.set(a,{existing_entries:[a],is_io_duplicate:r})})}}),e}function f(e,t,n){if(n.length){var i=e.valuesmax;i&&parseInt(i,10)>0&&(n.filter(":checked").length>=i?n.filter(":not(:checked)").each(function(){this.disabled="disabled"}):n.filter(":disabled").each(function(){this.removeAttribute("disabled")}))}}function h(e){var t=0,n=!0,i=e(window.Shoppad.apps.infiniteoptions.addToCartButton),o={};i.length&&(o=getEventData(e,i[0])),o&&o.click&&(t=o.click.length);for(var r=0;r
=0)return!0;return!1}function g(e,t){t?e.css({background:"",color:"",border:""}):e.css({background:window.Shoppad.apps.infiniteoptions.errorStyles.background,color:window.Shoppad.apps.infiniteoptions.errorStyles.color,border:"1px solid "+window.Shoppad.apps.infiniteoptions.errorStyles["border-color"]})}function v(e,t,n){var i,o=e.tagName.toLowerCase();i="input"===o?e.type+":"+t:"fieldset"===o?"checkboxes:"+t:o+":"+t;var r=window.Shoppad.apps.infiniteoptions,a=$(e);switch(i){case"textarea:required":case"text:required":case"number:required":return""===a.val()?(r.toggleInputError(a,n),"number"===e.type?r.strings.errorMessages.forNumberInputs:r.strings.errorMessages.forTextInputs):"";case"date:required":return""===a.val()?(r.toggleInputError(a,n),r.strings.errorMessages.forDateInputs):"";case"file:required":return a.attr("data-uploading")?(r.toggleInputError(a,n),r.strings.errorMessages.forFileStillUploading):a.siblings(".spb-file-value").val()?"":(r.toggleInputError(a,n),r.strings.errorMessages.forFileInputs);case"select:required":return $("option:selected:disabled",a).length?(r.toggleInputError(a,n),r.strings.errorMessages.forDropdowns):"";case"checkboxes:required":return 0===$("input[type=checkbox]",a).length?"":0===$('input[type="checkbox"]:checked',a).length?(r.toggleInputError(a,n),r.strings.errorMessages.forCheckboxes):"";case"checkboxes:minvalue":if(0===$("input[type=checkbox]",a).length)return"";var s=a.data("valuesmin")&&parseInt(a.data("valuesmin"),10);if(!s)return!1;var p=$('input[type="checkbox"]:checked',a).length;return p>0&&p1&&(spLog(o.click,"Add to cart has other bound events",!0),o.click.unshift(o.click.pop())),C(l);function r(e,t){if("sp-dynamic-checkout-button-primary"!==e.target.className&&"sp-dynamic-checkout-button-secondary"!==e.target.className)return void spLog(!0,"Click propagated to the overlay, returning early",!0);if(t&&!customizeryConfig.shopifyCartTransform)return spLog(!0,"Dynamic checkout: button clicked + price mods selected, preventing submission",!0),window.alert(window.Shoppad.apps.infiniteoptions.strings.errorMessages.forDynamicCheckout),e.stopImmediatePropagation(),!1;if(window.Shoppad.apps.infiniteoptions.themeAppExtensionId){$("[infinite-options-clone]").remove(),$container=a();var n=y($container);n.css("display","none").prependTo("form#"+window.Shoppad.apps.infiniteoptions.themeAppExtensionId).attr("infinite-options-clone",!0),spLog(null,"Shopify Theme 2.0 - duplicating a set of hidden fields and inserting them in the form",!0)}var i=$(".sp-dynamic-checkout-button-"+e.data["io-dynamic-checkout-type"]);return i.data("uploadery-dynamic-bound")?(spLog(!0,"Dynamic checkout: form fields are valid and uploadery is present, allowing uploadery to run it's validation",!0),!0):(s(e),!0)}function s(e){if("secondary"===e.data["io-dynamic-checkout-type"])return spLog(!0,'Dynamic checkout: clicking "more payment options" button',!0),$(".shopify-payment-button__more-options").click(),!0;if("primary"===e.data["io-dynamic-checkout-type"]){var t=$(".shopify-payment-button__button"),n={paypal:'[role="button"]',amazon:"form > button",google:"iframe",shopify:""};$.each(n,function(e,n){if(!n)return spLog(!0,"Dynamic checkout: clicking native shopify button",!0),t.click(),!1;var i=$(t.find(n).contents());return"google"===e&&i.length?(spLog(!0,"Dynamic checkout: clicking google pay button",!0),i.find("button").click(),!1):t.find(n).length?(spLog(!0,"Dynamic checkout: clicking "+e+" button",!0),t.find(n).click(),!1):void 0})}}function p(e){if(e.data&&e.data["io-dynamic-checkout-type"]&&!customizeryConfig.shopifyCartTransform)return priceMod.options.skipPriceModIfVisible="",r(e,priceMod.getVariantSubmissions().length),!0;var i=priceMod.getVariantSubmissions();if(priceMod.updateOrderGroup(e,i),!i||!i.length)return t(window.Shoppad.apps.infiniteoptions.skipPriceModIfVisible).is(":visible")?spLog(!0,"Price variants: skip price mod if visible",!0):spLog(!0,"Price variants: no variants selected",!0),!0;var o=!0,a=getEventData(t,n[0]);return a&&a.click&&a.click.length>1&&t.each(a.click,function(t,i){i.handler!=l&&i.data&&i.data["shoppad-validate"]&&(spLog(i.handler,"Price variants: calling other shoppad validation",!0),o=i.handler.call(n[0],e))}),o?!!customizeryConfig.shopifyCartTransform||d(e,i):(spLog(!0,"Price variants: other shoppad validation failed",!0),!1)}function d(e,i){return priceMod.addToCart(e,function(i){if(i){var o=priceMod&&priceMod.activeVariants||{},r=Object.keys(o).map(function(e){var t=o[e];return{handle:t.handle,price:t.price,productId:t.productId,variantId:t.variantId}}),a={error:i,variantInfo:r};return void spLog(a,"Price variants: add variant to cart error","red")}var s=priceMod.getVariantSubmissions();if(e.data["io-shoppad-overlay"])return spLog(!0,"Shoppad product bundle completed via overlay: triggering click event on add to cart button",!0),n.trigger("click",["spTrigger"]),void eventApi.productBundleCartSubmit({submittedProducts:s});var p=!0,d=getEventData(t,n[0]);d&&d.click&&d.click.length>1&&t.each(d.click,function(t,i){!(t>0)||i.data&&i.data["shoppad-validate"]||(spLog(i.handler,"Price variants: calling non-shoppad submit event",!0),p=!1,i.handler.call(n[0],e))});var l=eventApi.productBundleCartSubmit({submittedProducts:s});return!l&&void(p||window.Shoppad.apps.infiniteoptions.submitPriceModCartAnyways?n.parents("form").trigger("submit"):spLog(!0,"Price variants: complete but relying on other events to submit",!0))},i)}function l(e,t){if("spTrigger"===t)return void spLog(!0,"Validation triggered by synthentic click after product bundling resolved, skipping validation",!0);if(window.Shoppad&&window.Shoppad.apps&&window.Shoppad.apps.customizery&&window.Shoppad.apps.customizery.overrideDeprecatedValidation)return spLog(!0,"Theme has overrideDeprecatedValidation, conditional logic may not work as expected",!0),!0;if("function"==typeof window.Shoppad.apps.infiniteoptions.validate)return spLog(!0,"Theme has custom validation, conditional logic may not work as expected",!0),window.Shoppad.apps.infiniteoptions.validate(e);var n="",i="";const o=function(e){var t="",n="";return $("input[type=text][required], textarea[required], input[type=number][required], fieldset[data-required], select[required], input[type=date][required], input[type=file][required]",e).not("[disabled]").each(function(e,i){t||(n=i,t=window.Shoppad.apps.infiniteoptions.validateInput(i,"required"))}),!t&&$("input[type=file][data-uploading]",e).not("[disabled]").each(function(e,i){t||(n=i,window.Shoppad.apps.infiniteoptions.toggleInputError($(i),!1),t=window.Shoppad.apps.infiniteoptions.strings.errorMessages.forFileStillUploading)}),!t&&$("fieldset",e).not("[disabled]").each(function(e,i){t||(n=i,t=window.Shoppad.apps.infiniteoptions.validateInput(i,"minvalue"))}),{errMsg:t,element:n}};if($io=$("#infiniteoptions-container"),n=o($io).errMsg,i=o($io).element,$("div[data-infinite-options]").each(function(){var e=$(this).attr("data-infinite-options");$container=$("div[data-infinite-options="+e+"]"),n=o($container)}),n&&n.length){var r=eventApi.validationFail({error:n,element:i});return r||alert(n),e.stopImmediatePropagation(),!1}return $productBundleInput=window.Shoppad.$("input[name='properties[_io_product_bundle_ids]']"),$productBundleInput.length&&$productBundleInput.val()&&"[]"!==$productBundleInput.val()||($productBundleInput.remove(),window.Shoppad.$("input[name='properties[_io_properties]']").remove()),eventApi.validationSuccess({event:e}),p(e)}}function b(e,t){return"undefined"!=typeof e.shopifyPriceSynced?t(e):void $.ajax({url:"/products/"+e.handle+".json",success:function(n){if(n&&n.product)for(var i=n.product.variants,o=0;o=9&&(spLog(!1,"Dynamic checkout: unable to locate "+n+" dynamic checkout button after polling for 5 seconds",!0),clearInterval(a)),t++}var i=setInterval(function(){n("primary")},500),o=setInterval(function(){n("secondary")},500)}function S(e,t,n){var i,o;if($(".sp-dynamic-checkout-button-"+t).length){if(o=$(".sp-dynamic-checkout-button-"+t),overlayEvents=getEventData($,o[0]),overlayEvents&&overlayEvents.click)for(var r=0;r1&&a.click.unshift(a.click.pop())}function k(e,t){if($overlay=$(''),t){var n={all:{position:"absolute",display:"block","z-index":"100",cursor:"pointer",top:"0",right:"0",bottom:"0",left:"0"}};$.each(n,function(e,t){$overlay.css(t)})}return $overlay}function T(e,t,n,i,o){e.fn.on?t.on(n,i,o):t.bind(n,i,o)}function E(){setTimeout(function(){var e=!1;"function"==typeof window.$&&window.$.fn&&(e=h(window.$)),e||"undefined"==typeof window.Shoppad||"undefined"==typeof window.Shoppad.$||(e=h(window.Shoppad.$)),e?spLog(e,"Theme has custom validation",!0):w()},100)}function _(){$('#infiniteoptions-container select[required="required"]').find('option[disabled="disabled"][selected="selected"]').prop("selected","selected")}window.Shoppad&&window.Shoppad.apps&&window.Shoppad.apps.customizery&&(window.Shoppad.apps.infiniteoptions=window.Shoppad.apps.customizery,delete window.Shoppad.apps.customizery);function A(e){return customizeryConfig&&customizeryConfig.optionSets&&customizeryConfig.optionSets.length?void e():void $.ajax({method:"GET",url:cdnPath+"/option-sets.json?uuid="+UUID,dataType:"json"}).done(function(t){return t?(customizeryConfig.optionSets=t,spLog(customizeryConfig.optionSets,"CONFIG (optionSets)",!0),void e()):("undefined"!=typeof window.Sentry&&Sentry.withScope(function(e){e.setExtras({url:cdnPath+"/option-sets.json?uuid="+UUID,response:t}),Sentry.captureMessage("No option sets retreived")}),void spLog(!0,"No option sets retreived",!0))}).fail(function(){"undefined"!=typeof window.Sentry&&Sentry.withScope(function(e){e.setExtras({url:cdnPath+"/option-sets.json?uuid="+UUID}),Sentry.captureMessage("Failed to get option sets")}),spLog(!0,"Failed to get option sets",!0),window.Shoppad.apps.infiniteoptions._running=!1})}function M(e,t){customizeryRules.checkAllRules(customizeryConfig,"optionSets",e,function(n,i){if(n&&n.length){window.Shoppad.apps.infiniteoptions.activeProductId=i.id,priceMod.init({skipPriceModIfVisible:window.Shoppad.apps.infiniteoptions.skipPriceModIfVisible}),t||(t="default"),conditionalLogicInstances[t]&&conditionalLogicInstances[t].destroy&&conditionalLogicInstances[t].destroy(),conditionalLogicInstances[t]=new conditionalLogicFactory(window.Shoppad.$);var o=u(n);l(o,e,t,i),E()}else spLog(!0,"This page does not match option sets",!0),eventApi.noMatch({productHandle:e}),window&&window.Shopify&&window.Shopify.designMode&&window.Shopify.designMode===!0&&$("#infiniteoptions-container").empty().append($("").addClass("infiniteoptions-placeholder").css({border:"1px dashed #c9c9c9",borderRadius:"4px",padding:"24px 16px",width:"100%",boxSizing:"border-box",textAlign:"center",color:"#8c8c8c"}).text("Infinite Options fields will appear here")),"function"==typeof window.Shoppad.apps.infiniteoptions.uploaderyReady&&window.Shoppad.apps.infiniteoptions.uploaderyReady.call($("#infiniteoptions-container"),[]);window.Shoppad.apps.infiniteoptions._running=!1})}function I(t,n){if(window.Shoppad.apps.infiniteoptions._running)return void spLog(!0,"Initialization (initCustomizery) aborted since already running",!0);window.Shoppad.apps.infiniteoptions._running=!0,"function"==typeof window.Shoppad.apps.infiniteoptions.beforeReadyInternal&&window.Shoppad.apps.infiniteoptions.beforeReadyInternal(eventApi.subscribe);var i={},o={},r={};return runFieldReaction=function(s){var p=s.detail.name,d=s.detail.value;if(p){var l=window.Shoppad.$("input[name='properties[_io_product_bundle_ids]']"),c=window.Shoppad.$("input[name='properties[_io_properties]']"),u=function(){var i=[],u=function(i){var r=priceMod.getVariantSubmissions(),s=a(t,n);if(r.length){if(l.length)i.length&&l.val(safeJsonStringify(i));else{var p=e._createHiddenInput("_io_product_bundle_ids");i.length&&p.val(JSON.stringify(i)),p.appendTo(s)}for(var d in o)""===o[d]&&delete o[d];var u=JSON.stringify(o);if(l.length){var f=JSON.parse(u);Object.keys(f).forEach(function(e){null===f[e]&&(f[e]="")}),u=JSON.stringify(f)}if(c.length)c.val(u);else{var h=e._createHiddenInput("_io_properties");h.val(u),h.appendTo(s)}}};if("infiniteoptions.productBundleAdd"===s.type||"infiniteoptions.productBundleRemove"===s.type){var f=priceMod.getVariantSubmissions();i=f.map(function(e){return{bundleId:e.bundleId,name:e.name}}),f&&f.length||(l.remove(),c.remove())}else if("infiniteoptions.fieldHide"===s.type){if(delete o[p],r[p]=!1,l.length){var h=JSON.parse(l.val()?l.val():"[]");h=h.filter(function(e){return!(e.name===p&&!r[p])}),h&&h.length||(l.remove(),c.remove())}}else"infiniteoptions.fieldShow"===s.type?(o[p]=d,r[p]=!0):o[p]=d;u(i)};u();const f="infiniteoptions.fieldLoad"===s.type;$(s.detail.element).find("input[type=text][required], textarea[required], input[type=number][required], fieldset[data-required], select[required], input[type=date][required], input[type=file][required]").each(function(e,t){const n=v(t,"required",!0),o=!!n;if(i[s.detail.name]=!o,"disabled"===$(s.detail.element).attr("disabled")&&(i[s.detail.name]=!0),!o&&"FIELDSET"===t.tagName){const n=v(t,"minvalue",!0);i[s.detail.name]=!n}}),Object.values(i).includes(!1)?$(".shopify-payment-button").hide():f||$(".shopify-payment-button").show()}},customizeryConfig.shopifyCartTransform&&["fieldLoad","fieldChange","fieldShow","fieldHide","productBundleAdd","productBundleRemove"].forEach(function(e){eventApi.subscribe(e,runFieldReaction)}),"function"==typeof window.Shoppad.apps.infiniteoptions.beforeReady&&window.Shoppad.apps.infiniteoptions.beforeReady(eventApi.subscribe),customizeryConfig.initializedTheme!==customizeryConfig.currentTheme&&!window.Shoppad.pos&&adminPreview.isPreviewActive()&&adminPreview.insert("themeAppBlockNotInstalled"),loadConfig?void A(function(){M(t,n)}):(spLog(customizeryConfig.optionSets,"CONFIG (optionSets)",!0),void M(t,n))}if(!(window.Shoppad&&window.Shoppad.apps&&window.Shoppad.apps.infiniteoptions&&window.Shoppad.apps.infiniteoptions._initialized||(window.Shoppad=$.extend(!0,{apps:{infiniteoptions:{_running:!1,_initialized:!0,_fieldsReady:!1,validate:null,validateType:null,jQueryKey:"jQuery",addToCartButton:"form[action$='/cart/add']:first [type=submit]",quantityInput:"[name='quantity']",validationEventName:"click",insertContainerAfter:null,themeAppExtensionActive:!1,themeAppExtensionId:null,appEmbedActive:!1,themeName:null,activeProductId:null,toggleInputError:g,validateInput:v,getLatestVariantPrice:b,submitPriceModCartAnyways:!1,hideDynamicCheckout:!1,shopifyCartTransform:customizeryConfig.shopifyCartTransform,skipPriceModIfVisible:'form[action$="/cart/add"] [type=submit] .secondary-text',errorStyles:{"background-color":"#fef6f5",color:"#666","border-color":"#ff5d5d"},strings:{charactersRemaining:"Characters remaining",errorMessages:{forTextInputs:"Please add your personalized text before adding this item to cart.",forNumberInputs:"Please enter a number before adding this item to cart",forCheckboxes:"Please select your options before adding this item to cart",forMinimumValues:"Please select at least %valuesmin options before adding this item to cart",forDateInputs:"Please select a date before adding this item to cart.",forFileInputs:"Please upload a file before adding this item to cart.",forFileStillUploading:"Please wait for your file to finish uploading before adding this item to cart.",forFileTooLarge:"That file is too large. Please choose a file under %maxfilesize.",
forFileType:"That file type is not accepted.",forFileUploadFailed:"Sorry, there was an issue uploading your file. Please try again.",forDropdowns:"Please select an option before adding this item to cart",forDynamicCheckout:"This product cannot be purchased using this checkout method. Please add the item to cart, then proceed to checkout from the cart."}},debug:window.Shoppad&&window.Shoppad.Cookies&&"undefined"!=typeof window.Shoppad.Cookies("infinite_options_debug")}}},window.Shoppad),window.Shoppad.apps.infiniteoptions.priceMod=priceMod,window.Shoppad.apps.infiniteoptions.init=I,window.Shoppad.apps.infiniteoptions.reInitEvents=E,window.Shoppad.apps.infiniteoptions.renderPreview=function(e,t,n){var i=n||"default";conditionalLogicInstances[i]&&conditionalLogicInstances[i].destroy&&conditionalLogicInstances[i].destroy(),conditionalLogicInstances[i]=new conditionalLogicFactory(window.Shoppad.$);var o=u(e);l(o,t||"__preview__",i,null,!0)},window.Shoppad.apps.infiniteoptions._suppressAutoInit)))return window.InstantClick&&window.InstantClick.on("change",function(){I()}),$(document).on("shoppad:productViewLoaded",function(e){spLog(!0,"shoppad:productViewLoaded",!0);var t=window.location.href.match("[^/]*$")[0];I(t)}),adminPreview.isPreviewActive()?(adminPreview.insert("default"),void adminPreview.getPreviewConfig().then(function(){I()})["catch"](function(){I()})):void($("div[data-infinite-options]").length?$("div[data-infinite-options]").each(function(e){var t=$(this).attr("data-infinite-options"),n=t+"_"+e;$(this).attr("data-infinite-options-container-id",n),I(t,n)}):I())});
})();