var WPFormsSignatures=window.WPFormsSignatures||((u,i,g)=>{let f={config:{windowWidth:!1,pixelRatio:Math.max(i.devicePixelRatio||1,1),watching:!1,watchingRate:300,typePaddingRatio:.3},getCanvas(t){t=t.get(0);return t.width=t.offsetWidth*f.config.pixelRatio,t.height=t.offsetHeight*f.config.pixelRatio,t.getContext("2d").scale(f.config.pixelRatio,f.config.pixelRatio),t},allPixelsToBlack(t){var e=t.getContext("2d"),a=e.getImageData(0,0,t.width,t.height),n=a.data;for(let t=0;t<n.length;t+=4)n[t]=0,n[t+1]=0,n[t+2]=0;return e.putImageData(a,0,0),t},cropCanvas(t){var e,a,n,i,r,o=u.createElement("canvas"),s=o.getContext("2d",{willReadFrequently:!0}),g=(o.width=t.width,o.height=t.height,s.drawImage(t,0,0),o.width),t=o.height,d=s.getImageData(0,0,g,t),l=[],c=[];for(let t=3;t<d.data.length;t+=4)0<d.data[t]&&(e=t/4,l.push(e%g),c.push(Math.floor(e/g)));return l.length?(s=Math.min(...l),t=Math.max(...l),a=Math.min(...c),t=t-s,n=Math.max(...c)-a,r=(i=u.createElement("canvas")).getContext("2d"),i.width=t,i.height=n,r.drawImage(o,s,a,t,n,0,0,t,n),i.toDataURL()):""},renderTypeSignature(t,e,a,n){var i,r,o,s,g,d,l,c;return t?(i=Math.round(a*f.config.typePaddingRatio),(o=(r=u.createElement("canvas")).getContext("2d")).font=a+"px "+n,o.textAlign="left",o.textBaseline="alphabetic",g=(c=void 0!==(s=o.measureText(t)).actualBoundingBoxAscent)?s.actualBoundingBoxLeft:0,d=c?s.actualBoundingBoxRight:s.width,l=c?s.actualBoundingBoxAscent:a,c=c?s.actualBoundingBoxDescent:Math.ceil(.35*a),r.width=Math.ceil(g+d)+2*i,r.height=Math.ceil(l+c)+2*i,o.font=a+"px "+n,o.textAlign="left",o.textBaseline="alphabetic",o.fillStyle=e,o.fillText(t,i+g,i+l),r.toDataURL("image/png")):""},watchSignatures(){let e=!0;g(".wpforms-signature-canvas").each(function(){var t=g(this);t.hasClass("loaded")||(e=!1,t.is(":hidden"))||s.loadSignature(t)}),e&&(clearInterval(f.config.watching),f.config.watching=!1)}},e={},s={init(){e.$window=g(i),e.$document=g(u),e.$form=g(".wpforms-form"),e.$document.on("wpformsReady",s.ready)},ready(){f.config.windowWidth=e.$window.width(),s.loadSignatures(e.$document),s.events(),f.config.watching=setInterval(f.watchSignatures,f.config.watchingRate)},events(){e.$form.on("wpformsBeforeFormSubmit",s.wpformsBeforeFormSubmit),e.$document.on("click",".wpforms-signature-clear",function(t){t.preventDefault();t=g(this);t.blur(),s.resetSignature(t.parent().find(".wpforms-signature-canvas"),!0)}),e.$document.on("keydown",".wpforms-signature-clear",function(t){32===t.keyCode&&(t.preventDefault(),(t=g(this)).blur(),s.resetSignature(t.parent().find(".wpforms-signature-canvas"),!0))}),e.$document.on("wpforms:signature:change",".wpforms-field-signature",function(){g(this).find(".wpforms-signature-input").trigger("focus")}),e.$document.on("wpformsRepeaterFieldCloneDisplay",function(t,e){s.loadSignatures(e)}),e.$window.resize(s.resetSignatures)},wpformsBeforeFormSubmit(t){t=g(t.target);t.parents(".wpforms-container.wpforms-block").length&&t.find(".wpforms-signature-canvas.loaded").each(function(){var t=g(this);t.data("signaturePad")&&t.closest(".wpforms-field-signature").find(".wpforms-signature-input").val(f.cropCanvas(f.allPixelsToBlack(t.get(0))))})},loadSignatures(t){(t=t?.length?t:e.$document).find(".wpforms-signature-canvas").each(function(){s.loadSignature(g(this))})},getInkColor(t,e){var a=void 0!==Array.from(t[0].classList).find(t=>t.startsWith("wpforms-block-")),n=t[0].classList.contains("wpforms-render-modern");return a&&n?i.getComputedStyle(t[0]).getPropertyValue("--wpforms-field-text-color"):e.data("color")},loadSignature(i){let r=i.closest(".wpforms-field-signature");if(!r.parents("fieldset").is(":disabled"))if("type"===i.closest(".wpforms-signature-wrap").attr("data-input-method"))s.loadTypeSignature(i,r);else if(!i.is(":hidden")){let t=r.find(".wpforms-signature-input"),e=r.closest(".wpforms-container"),a=f.getCanvas(i),n=s.getInkColor(e,i);var o=new SignaturePad(a,{penColor:n});i.addClass("loaded").data("signaturePad",o),o.addEventListener("afterUpdateStroke",function(){t.val(f.cropCanvas(a)).trigger("input change").valid(),r[0].dispatchEvent(new CustomEvent("wpforms:signature:change",{bubbles:!0}))})}},loadTypeSignature(t,o){var s=o.find(".wpforms-signature-text-input");if(s.length){t.addClass("loaded");let e=o.find(".wpforms-signature-input"),a=s.css("color"),n=parseFloat(s.css("font-size")),i=s.css("font-family"),r;s.on("input change",function(){let t=g(this).val().trim();clearTimeout(r),r=setTimeout(()=>{e.val(t?f.renderTypeSignature(t,a,n,i):"").trigger("input change").valid()},200)})}},resetSignatures(){f.config.windowWidth!==g(i).width()&&g(".wpforms-signature-canvas.loaded").each(function(){s.resetSignature(g(this),!1)})},resetSignature(t,e){var a,n,i=t.data("signaturePad");i&&(a=t.closest(".wpforms-field-signature").find(".wpforms-signature-input"),n=i.toDataURL("image/svg+xml"),e?(i.clear(),a.val("")):(f.getCanvas(t),i.fromDataURL(n)),a.trigger("input change"),t.is(":hidden"))&&(t.removeClass("loaded"),f.config.watching||(f.config.watching=setInterval(f.watchSignatures,f.config.watchingRate)))}};return s})(document,window,jQuery);WPFormsSignatures.init();