!function(){"use strict";const e="otter-turnstile-script",t=e=>{const t=[...e?.querySelectorAll(":scope > .otter-form__container .wp-block-themeisle-blocks-form")??[]];return[...e?.querySelectorAll(":scope > .otter-form__container .o-form-captcha")??[]].filter((e=>!t?.some((t=>t?.contains(e)))))?.[0]??null},o=(e,t=null)=>t?.dataset?.captchaProvider||"recaptcha",i=()=>window.hasOwnProperty("grecaptcha")&&Boolean(window.grecaptcha?.render),r=()=>window.hasOwnProperty("turnstile")&&Boolean(window.turnstile?.render),n=(e,t,o=()=>{})=>{window.themeisleGutenberg||(window.themeisleGutenberg={}),window.themeisleGutenberg?.tokens||(window.themeisleGutenberg.tokens={}),window.themeisleGutenberg.tokens[e]={token:t,reset:o}},s=(e,t)=>{const o=setInterval((()=>{e()&&(t(),clearInterval(o))}),200)},l=()=>document.getElementById(e)||document.querySelector('script[src*="challenges.cloudflare.com/turnstile"]'),a=e=>{const t=document.createElement("div"),o=e.querySelector(".otter-form__container");return o?.insertBefore(t,o.lastChild),t},c=(e,t=null)=>{if(!i())return;const o=t||a(e);o.replaceChildren();const r=()=>{n(e.id,null,r),window.grecaptcha?.reset(s)},s=window.grecaptcha?.render(o,{sitekey:window?.themeisleGutenbergForm?.reRecaptchaSitekey,callback:t=>n(e.id,t,r),"expired-callback":()=>n(e.id,null,r)});return s},d=(e,t=null)=>{if(!r())return;const o=t||a(e);o.replaceChildren();const i=()=>{n(e.id,null,i),window.turnstile?.reset(s)},s=window.turnstile?.render(o,{sitekey:window?.themeisleGutenbergForm?.turnstileSitekey,callback:t=>n(e.id,t,i),"expired-callback":()=>n(e.id,null,i),"error-callback":()=>n(e.id,null,i)});return s};var m=class{constructor(e){this.form=e,this.anchor=e.querySelector(".wp-block-button"),this.anchor?.classList.add("has-submit-msg"),this.msgElem=document.createElement("div"),this.msgElem.classList.add("o-form-server-response"),this.anchor.appendChild(this.msgElem),this.isVisible=!1,this.visibilityTimeout=void 0,this.visibilityDuration=12e3}toggle(e){this.isVisible=void 0!==e?e:!this.isVisible,this.msgElem.style.display=this.isVisible?"block":"none"}getMsgBySlug(e){return window?.themeisleGutenbergForm?.messages[e]||"Messages are missing!"}pullMsg(e,t){return this.setMsg(this.getMsgBySlug(e),t)}setMsg(e,t=""){switch(this.msgElem.innerHTML=e,this.clean(),t){case"error":this.msgElem.classList.toggle("o-error",!0);break;case"warning":this.msgElem.classList.toggle("o-warning",!0);break;default:this.msgElem.classList.toggle("o-success",!0)}return this}show(e){clearTimeout(this.visibilityTimeout),this.toggle(!0),this.visibilityTimeout=setTimeout((()=>{this.toggle(!1)}),e||this.visibilityDuration)}clean(){this.msgElem.classList.toggle("o-error",!1),this.msgElem.classList.toggle("o-warning",!1),this.msgElem.classList.toggle("o-success",!1)}};let u=null,h="permanent";const p=e=>{const t=[...e?.querySelectorAll(":scope > .otter-form__container .wp-block-themeisle-blocks-form")];return[...e?.querySelectorAll(":scope > .otter-form__container .wp-block-themeisle-blocks-form-input, :scope > .otter-form__container .wp-block-themeisle-blocks-form-textarea, :scope > .otter-form__container .wp-block-themeisle-blocks-form-multiple-choice, :scope > .otter-form__container .wp-block-themeisle-blocks-form-file, :scope > .otter-form__container .wp-block-themeisle-blocks-form-hidden-field, :scope > .otter-form__container .wp-block-themeisle-blocks-form-stripe-field")].filter((e=>!t?.some((t=>t?.contains(e)))))},f=(e,t,o,i,r)=>{e.then((e=>e.json())).then((e=>{const n=e;if("0"===n?.code||"1"===n?.code||n?.success)o?.(n,t);else{let e="";"110"===n.code?t.setMsg(n?.reasons?.join(""),"error").show():"12"===n.code||"13"===n.code?t.pullMsg("invalid-file","error").show():0{console.error(e),t.pullMsg("try-again","error").show(),i?.(e,t)}))},b=e=>{const t=document.createElement("span");return t.classList.add("spinner"),{show:()=>{e.appendChild(t)},hide:()=>{e.contains(t)&&e.removeChild(t)}}},w=async(e,o,i)=>{const r=e?.id,n={},{formFieldsData:s}=await(async e=>{const t=[{label:window?.themeisleGutenbergForm?.messages["form-submission"]||"Form submission from",value:window.location.href,metadata:{position:0}}],o=p(e);return o?.forEach(((e,o)=>{const i=e.querySelector(".otter-form-input-label"),r=(i??e).querySelector(".otter-form-input-label__label, .otter-form-textarea-label__label");let n,s,l,a=`${(r??i)?.textContent?.trim()}`,c={};const{id:d}=e,m=e.querySelector('.otter-form-input:not([type="checkbox"], [type="radio"], [type="file"], [type="hidden"]), .otter-form-textarea-input');if(null!==m)n=m?.value,s=m?.type,l=m?.name;else{const i=e.querySelector("select");l=i?.name;const r=e.querySelector('input[type="file"]'),m=e.querySelector('input[type="hidden"]'),u=e.classList.contains("wp-block-themeisle-blocks-form-stripe-field");if(r){const e=r?.files,i=r?.name;for(let n=0;ne?.label))?.filter((e=>Boolean(e))).join(", "),s="multiple-choice";else if(m){const e=m?.dataset?.paramName;if(l=m?.name,e){const t=new URLSearchParams(window.location.search);t.has(e)&&(m.value=t.get(e))}m?.value&&(n=m.value,s="hidden")}else if(u)a=`${e.querySelector(".o-stripe-checkout-description h3")?.textContent?.trim()}`,n=e.querySelector(".o-stripe-checkout-description h5")?.textContent?.trim(),s="stripe-field",l=e.name,c={fieldOptionName:e?.dataset?.fieldOptionName},h="temporary";else{const t=e.querySelectorAll(".o-form-multiple-choice-field > label"),o=e.querySelectorAll(".o-form-multiple-choice-field > input");l=o[0]?.name,n=[...t].filter(((e,t)=>o[t]?.checked)).map((e=>e.innerHTML)).join(", "),s="multiple-choice"}}n&&t.push({label:a||"(No label)",value:n,type:s,id:d,metadata:{...c,version:1,position:o+1,mappedName:l}})})),{formFieldsData:t}})(e),l=2>s?.length,a=t(e),c=Boolean(a)||e?.classList?.contains("has-captcha"),d=r&&window.themeisleGutenberg?.tokens?.[r]?.token,m=a?.dataset?.captchaProvider||"recaptcha",w="turnstile"===m?window.hasOwnProperty("turnstile"):window.hasOwnProperty("grecaptcha"),g=b(o),y=function(e){let t=!0;const o=p(e);for(const e of o)if(e.classList.contains("wp-block-themeisle-blocks-form-input")){const o=e.querySelector("input");if(!o?.checkValidity()){o?.reportValidity(),t=!1;break}}else if(e.classList.contains("wp-block-themeisle-blocks-form-textarea")){const o=e.querySelector("textarea");if(!o?.checkValidity()){o?.reportValidity(),t=!1;break}}else if(e.classList.contains("wp-block-themeisle-blocks-form-multiple-choice")){const o=e.querySelector("select");if(o?.hasAttribute("required")&&!o?.checkValidity()){o?.reportValidity(),t=!1;break}const i=e.querySelectorAll('.o-form-multiple-choice-field input[type="radio"]');if(i?.length&&i[0]?.hasAttribute("required")&&![...i].some((e=>e.checked))){i[0]?.reportValidity(),t=!1;break}const r=e.querySelectorAll('.o-form-multiple-choice-field input[type="checkbox"]');if(r?.length&&r[0]?.hasAttribute("required")&&![...r].some((e=>e.checked))){r[0]?.reportValidity(),t=!1;break}}else if(e.classList.contains("wp-block-themeisle-blocks-form-file")){const o=e.querySelector("input");if(!o?.checkValidity()){o?.reportValidity(),t=!1;break}}return t}(e);if(l||!y)return o.disabled=!1,void g.hide();const k=function(e){const t=`.protection #${e.id||""}_nonce_field`;return e.querySelector(t)?.value}(e);if(c&&!d){const e=w?"check-captcha":"captcha-not-loaded";i.pullMsg(e,"error").show()}if(!y||c&&!d)o.disabled=!1,g.hide();else{n.formInputsData=s,d&&(n.token=window.themeisleGutenberg?.tokens?.[r].token),c&&(n.captchaProvider=m),""!==e?.dataset?.emailSubject&&(n.emailSubject=e?.dataset?.emailSubject),e?.dataset?.optionName&&(n.formOption=e?.dataset?.optionName),e?.id&&(n.formId=e?.id),k&&(n.nonceValue=k),n.antiSpamTime=Date.now()-(u??Date.now()),n.antiSpamHoneyPot=Boolean(e.querySelector(":scope > .otter-form__container > .protection .o-anti-bot")?.checked??!1),n.postUrl=window.location.href,n.postId=(()=>{const e=document.querySelector("body"),t=e?.classList?.value?.split(" "),o=t?.find((e=>e.includes("postid-")||e.includes("page-id-")));if(o){const e=o.split("-").pop();if(e)return parseInt(e)}return 0})(),e.classList.contains("can-submit-and-subscribe")&&(n.action="submit-subscribe",n.consent=e.querySelector(".otter-form-consent input")?.checked||!1);const t=(window?.themeisleGutenbergForm?.root||window.location.origin+"/wp-json/")+"otter/v1/form/frontend",l=(e=>{const t=new FormData;return e?.payload?.formInputsData?.forEach(((o,i)=>{if("file"===o.type){const r="file__"+o.metadata.position+"_"+i;t.append(r,o.metadata.file),e.payload.formInputsData[i].metadata.file=void 0,e.payload.formInputsData[i].metadata.data=r}})),t.append("form_data",JSON.stringify(e)),t})({handler:"submit",payload:n});try{const n=fetch(t,{method:"POST",headers:{"X-WP-Nonce":window?.themeisleGutenbergForm?.nonce,"O-Form-Save-Mode":h},credentials:"include",body:l});g.show(),f(n,i,((t,o)=>{if(0{window.location.href=t.redirectLink}),1e3))}),((e,t)=>{}),(()=>{window.themeisleGutenberg?.tokens?.[r]?.reset&&window.themeisleGutenberg.tokens[r].reset(),o.disabled=!1,g.hide()}))}catch(e){console.error(e),i.pullMsg("try-again","error").show(),o.disabled=!1,g.hide()}}};var g;g=()=>{const n=document.querySelectorAll(".wp-block-themeisle-blocks-form");(n=>{const a=[...n].map((e=>({form:e,container:t(e)}))).filter((({form:e,container:t})=>t||e?.classList?.contains("has-captcha"))),m=a.filter((({form:e,container:t})=>"recaptcha"===o(0,t))),u=a.filter((({form:e,container:t})=>"turnstile"===o(0,t)));0{const t=()=>e.forEach((({form:e,container:t})=>c(e,t)));if(i())return void t();if(!window?.themeisleGutenbergForm?.reRecaptchaSitekey)return;if(document.getElementById("recaptcha"))return void s(i,t);const o=document.createElement("script");o.id="recaptcha",o.addEventListener("load",(()=>s(i,t))),o.src=window?.themeisleGutenbergForm?.reRecaptchaAPIURL,document.body.appendChild(o)})(m),0{const o=()=>t.forEach((({form:e,container:t})=>d(e,t)));if(r())return void o();if(!window?.themeisleGutenbergForm?.turnstileSitekey)return;if(l())return void s(r,o);const i=document.createElement("script");i.id=e,i.async=!0,i.defer=!0,i.addEventListener("load",(()=>s(r,o))),i.src=window?.themeisleGutenbergForm?.turnstileAPIURL,document.body.appendChild(i)})(u)})(n),u=Date.now(),n.forEach((e=>{e.classList.contains("can-submit-and-subscribe")&&(e=>{const t=e.querySelector(".otter-form__container"),o=e.querySelector(".wp-block-button"),i=document.createElement("div");i.classList.add("otter-form-consent"),t.insertBefore(i,o);const r=document.createElement("input");r.type="checkbox",r.name="o-consent",r.id="o-consent";const n=document.createElement("label");n.innerHTML=window?.themeisleGutenbergForm?.messages?.privacy||"I have read and agree to the privacy statement.",n.htmlFor="o-consent",i.appendChild(r),i.appendChild(n)})(e);const t=e.querySelector("button"),o=new m(e);if(new URLSearchParams(window.location.search).has("stripe_checkout")){t.disabled=!0;const i=t.innerHTML;t.innerHTML=o.getMsgBySlug("confirmingSubmission");const r=b(t);r.show(),f((async()=>{const e=new URLSearchParams(window.location.search).get("stripe_checkout"),t=(window?.themeisleGutenbergForm?.root||window.location.origin+"/wp-json/")+"otter/v1/form/confirm";return await fetch(t+`?stripe_checkout=${e}`,{method:"GET",credentials:"include"})})(),o,((t,o)=>{const i=t?.submitMessage?t.submitMessage:"Success";o.setMsg(i).show(),0{window.location.href=t.redirectLink}),1e3))}),(()=>{}),(()=>{t.disabled=!1,r.hide(),t.innerHTML=i}))}e.querySelector(':scope > form > button[type="submit"]')?e?.addEventListener("submit",(i=>{i.preventDefault(),t.disabled||(t.disabled=!0,w(e,t,o))}),!1):t?.addEventListener("click",(i=>{i.preventDefault(),t.disabled||(t.disabled=!0,w(e,t,o))}),!1)})),n.forEach((e=>{p(e).forEach((e=>{const t=e.querySelector("input");if("file"===t?.type){const{maxFilesNumber:e,maxFileSize:o}=t.dataset;t.addEventListener("change",(i=>{let r=!0;const{files:n}=i.target;if(e&&n.length>e&&(t.setCustomValidity(window.themeisleGutenbergForm?.messages?.["too-many-files"]+e),r=!1),r&&o)for(const e of n)if(e.size>1024*o*1024){t.setCustomValidity(window.themeisleGutenbergForm?.messages?.["big-file"]+" "+o+"MB."),r=!1;break}r?t.setCustomValidity(""):(t.reportValidity(),t.value="")}))}}))}))},"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",g):g())}();