Current File : /home/mdkeenpw/shafqattraders.com/wp-content/plugins/sureforms/assets/js/minified/validation.min.js
import{applyFilters}from"@wordpress/hooks";async function getUniqueValidationData(t,e,r,o){let i="action=validation_ajax_action&nonce="+encodeURIComponent(o)+"&id="+encodeURIComponent(e);Object.keys(t).forEach(e=>{i+="&"+encodeURIComponent(e)+"="+encodeURIComponent(t[e])});try{var s=await fetch(r,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:i});if(s.ok)return(await s.json()).data}catch(e){console.error(e)}}async function fieldValidation(e,t,r,o,s=!1){let a=!1,i=null,l=null,n={},c=(e,t,r={})=>{i||(i=e,l=t,n=r)},m=null;var f=document.querySelectorAll('input[data-unique="true"]');if(0!==f.length){var u,d={};for(u of f){var g=u.name,w=u.value;d[g]=w}m=await getUniqueValidationData(d,e,t,r)}for(let i of s?[o]:Array.from(o.querySelectorAll(".srfm-block-single"))){let t=!1;if(Array.isArray(window.sureforms?.skipValidationCallbacks)&&window.sureforms.skipValidationCallbacks.forEach(e=>{"function"==typeof e&&(t=t||e(i))}),!t){var b=i.closest("form").getAttribute("form-id");if(b===e){let r,o;o=!0===i.classList.contains("srfm-phone-block")?(r=i.querySelector(".srfm-input-phone"))?.nextElementSibling?.value:(r=i.querySelector("input, textarea, select")).value;var p,S,b=r.getAttribute("data-required"),y=r.getAttribute("data-unique");let t=r.getAttribute("name"),n=i.querySelector(".srfm-error-message");if(t=t&&t.replace(/_/g," "),b&&"hidden"!==r.type&&("true"!==b||o?r&&window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!1):(r&&window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!0),n&&(n.textContent=n.getAttribute("data-error-msg")),a=!0,c(r,r.closest(".srfm-block"))),r.addEventListener("input",()=>{window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!1)})),"true"===y&&""!==o&&(m?.some(e=>"not unique"===e[t])?(r&&window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!0),n.style.display="block",n.textContent=n.getAttribute("data-unique-msg"),a=!0,c(r,r.closest(".srfm-block"))):r&&(window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!1),n.style.display="none")),i.classList.contains("srfm-multi-choice-block")||i.classList.contains("srfm-checkbox-block")||i.classList.contains("srfm-gdpr-block")){var k=i.querySelectorAll("input"),y=k[0].getAttribute("data-required");let t=!1,r=null;for(let e=0;e<k.length;e++)if(r||"hidden"===k[e].type||(r=k[e]),k[e].checked){t=!0;break}"true"!==y||t?n&&window?.srfm?.toggleErrorState(i,!1):(n&&(n.textContent=i.querySelector(".srfm-error-message").getAttribute("data-error-msg"),window?.srfm?.toggleErrorState(i,!0)),a=!0,c(r,i)),k.forEach(e=>{e.addEventListener("input",()=>{window?.srfm?.toggleErrorState(i,!1)})})}if(i.classList.contains("srfm-url-block")&&(y=i.querySelector("input"),i.classList.contains("srfm-url-error")&&(window?.srfm?.toggleErrorState(i,!0),a=!0,c(y,i)),y.addEventListener("input",()=>{window?.srfm?.toggleErrorState(i,!1)})),i.classList.contains("srfm-phone-block")&&(y=i.querySelectorAll("input")[1],i.classList.contains("srfm-phone-error")&&(window?.srfm?.toggleErrorState(i,!0),a=!0,c(y,i)),i.querySelectorAll("input").forEach(e=>{e.addEventListener("input",()=>{window?.srfm?.toggleErrorState(i,!1)})})),i.classList.contains("srfm-email-block-wrap")){let t=i;if(t){let e=t.querySelector(".srfm-email-confirm-block");t.classList.contains("srfm-valid-email-error")&&(c(r,t),a=!0),e&&(y=e.querySelector(".srfm-input-email-confirm"),p=e.querySelector(".srfm-input-email-confirm").value,S=e.querySelector(".srfm-error-message"),!p&&S&&"true"===b?(S.textContent=S.getAttribute("data-error-msg"),window?.srfm?.toggleErrorState(e,!0),c(y,e),a=!0):p!==o?(window?.srfm?.toggleErrorState(e,!0),S.textContent=window?.srfm_submit?.messages?.srfm_confirm_email_same,c(y,e),a=!0):window?.srfm?.toggleErrorState(e,!1),y.addEventListener("input",()=>{window?.srfm?.toggleErrorState(e,!1)})),t.querySelector(".srfm-input-email").addEventListener("input",()=>{window?.srfm?.toggleErrorState(t,!1)})}}if(i.classList.contains("srfm-upload-block")&&("true"!==(S=(p=i.querySelector(".srfm-input-upload")).getAttribute("data-required"))||p.value?r&&window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!1):("true"===S&&n&&(n.textContent=n.getAttribute("data-error-msg")),r&&window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!0),a=!0,c(p,i)),p.addEventListener("input",()=>{r&&window?.srfm?.toggleErrorState(r.closest(".srfm-block"),!1)})),i.classList.contains("srfm-number-block")){var y=r.getAttribute("min"),E=r.getAttribute("max"),v=r.getAttribute("format-type");if(o){v="eu-style"===v?parseFloat(o.replace(/\./g,"").replace(",",".")):parseFloat(o.replace(/,/g,""));if(y||E){let e=!1,t="";y&&""!==y&&Number(v)<Number(y)?(e=!0,t=window?.srfm?.srfmSprintfString(window?.srfm_submit?.messages?.srfm_input_min_value,y)):E&&""!==E&&Number(v)>Number(E)&&(e=!0,t=window?.srfm?.srfmSprintfString(window?.srfm_submit?.messages?.srfm_input_max_value,E)),window?.srfm?.toggleErrorState(r.closest(".srfm-block"),e),n&&(n.textContent=e?t:"",e)&&(a=!0,c(r,i))}}}if(i.classList.contains("srfm-rating-block")&&("true"!==(y=i.querySelector(".srfm-input-rating")).getAttribute("data-required")||y.value?window?.srfm?.toggleErrorState(y.closest(".srfm-block"),!1):(window?.srfm?.toggleErrorState(y.closest(".srfm-block"),!0),a=!0,c(i.querySelector(".srfm-icon"),i))),i.classList.contains("srfm-slider-block")){var v=i.getAttribute("data-required"),E=i.querySelector(".srfm-input-slider"),y=i.querySelector(".srfm-text-slider"),h=i.getAttribute("data-default");if("true"===v){let e=!1;(e=(!E||E.dataset.interacted||h&&"false"!==h)&&(!y||y.dataset.interacted||h&&"false"!==h)?e:!0)?(window?.srfm?.toggleErrorState(i,!0),a=!0,c(E,i)):window?.srfm?.toggleErrorState(i,!1)}}if(i.classList.contains("srfm-dropdown-block")){y=i.querySelectorAll(".srfm-input-dropdown-hidden");let l=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;y.forEach(e=>{let t=e.getAttribute("data-required");var r,o,i,s=e.getAttribute("name");"true"!==t||e.value?e.value?(i=e.getAttribute("data-min-selection"),r=e.getAttribute("data-max-selection"),(i||r)&&(o=window.srfm.srfmUtility.extractValue(e.value),i&&o.length<i?(n.textContent=window?.srfm?.srfmSprintfString(window?.srfm_submit?.messages?.srfm_dropdown_min_selections,i),window?.srfm?.toggleErrorState(e.closest(".srfm-block"),!0),a=!0):r&&o.length>r&&(n.textContent=window?.srfm?.srfmSprintfString(window?.srfm_submit?.messages?.srfm_dropdown_max_selections,r),window?.srfm?.toggleErrorState(e.closest(".srfm-block"),!0),a=!0))):window?.srfm?.toggleErrorState(e.closest(".srfm-block"),!1):(n.textContent=n.getAttribute("data-error-msg"),window?.srfm?.toggleErrorState(e.closest(".srfm-block"),!0),a=!0),a&&(i=window?.srfm?.[s]||e,c(i,e.closest(".srfm-block"),{shouldDelayOnFocus:!0})),new l(()=>{e.value?window?.srfm?.toggleErrorState(e.closest(".srfm-block"),!1):"true"===t&&window?.srfm?.toggleErrorState(e.closest(".srfm-block"),!0)}).observe(e,{attributes:!0,attributeFilter:["value"]})})}if(i.classList.contains("srfm-multi-choice-block")){var q=i.querySelectorAll("input"),h=q[0].getAttribute("data-min-selection"),y=q[0].getAttribute("data-max-selection");let t=null,r=0,e=!1;for(let e=0;e<q.length;e++)t||"hidden"===q[e].type||(t=q[e]),q[e].checked&&r++;(h||y)&&0<r&&(!e&&0<h&&(b&&1<h||!b)&&r<h&&(n.textContent=window?.srfm?.srfmSprintfString(window?.srfm_submit?.messages?.srfm_multi_choice_min_selections,h),e=!0),!e&&0<y&&r>y&&(n.textContent=window?.srfm?.srfmSprintfString(window?.srfm_submit?.messages?.srfm_multi_choice_max_selections,y),e=!0),e?(window?.srfm?.toggleErrorState(i,!0),c(t,i),a=!0):b||window?.srfm?.toggleErrorState(i,!1))}a=applyFilters("srfm.modifyFieldValidationResult",a,i,c)}}}return!!a&&{validateResult:a,firstErrorInput:i,scrollElement:l,...n}}function initializeInlineFieldValidation(){["srfm-input-block","srfm-email-block-wrap","srfm-url-block","srfm-phone-block","srfm-checkbox-block","srfm-gdpr-block","srfm-number-block","srfm-multi-choice-block","srfm-datepicker-block","srfm-upload-block","srfm-rating-block","srfm-textarea-block","srfm-dropdown-block","srfm-slider-block","srfm-password-block"].forEach(e=>addBlurListener(e,"."+e)),validateMultiChoiceMinMax()}function validateMultiChoiceMinMax(){document.querySelectorAll(".srfm-multi-choice-block").forEach(e=>{let n=e.querySelector(".srfm-input-multi-choice-hidden");if(n){let s=n.getAttribute("data-min-selection"),l=n.getAttribute("data-max-selection");if(s||l){let o=e.querySelector(".srfm-error-message"),i=window?.srfm_submit?.messages||{};e.addEventListener("input",()=>{var t=window.srfm.srfmUtility.extractValue(n.value).filter(Boolean).length;if(0===t)window?.srfm?.toggleErrorState(e,!1);else{var r=n.closest(".srfm-block");let e="";s&&t<s?e=window?.srfm?.srfmSprintfString(i.srfm_multi_choice_min_selections,s):l&&t>l&&(e=window?.srfm?.srfmSprintfString(i.srfm_multi_choice_max_selections,l)),o.textContent=e,window?.srfm?.toggleErrorState(r,Boolean(e))}})}}})}function addBlurListener(e,r){var t=Array.from(document.getElementsByClassName(e));if(t)for(var o of t){let t=o.querySelector("input")||o.querySelector("textarea")||o.querySelector("select");if("srfm-upload-block"===e&&(t=o.querySelector('input[type="file"]')),"srfm-rating-block"===e&&addRatingBlurListener(t,o,r),"srfm-multi-choice-block"===e&&addMultiChoiceBlurListener(t,o,r),"srfm-email-block-wrap"===e&&addEmailBlurListener(o,r),"srfm-slider-block"===e&&addSliderBlurListener(t,o,r),"srfm-dropdown-block"===e){let e=t.getAttribute("name");setTimeout(()=>{window?.srfm?.[e]?.on("blur",function(){fieldValidationInit(t,r)})},500)}if("srfm-textarea-block"===e&&o.classList.contains("srfm-richtext")){let e=(t=o.querySelector("textarea.srfm-input-textarea")).getAttribute("id");setTimeout(()=>{window?.srfm?.[e]?.on("editor-change",function(){window?.srfm?.[e]?.hasFocus()||fieldValidationInit(t,r)})},500)}(t="srfm-phone-block"===e?o.querySelector(".srfm-input-phone"):t)&&t.addEventListener("blur",async function(){fieldValidationInit(t,r)})}}function addRatingBlurListener(e,t,r){t.querySelectorAll(".srfm-icon").forEach(e=>{e.addEventListener("blur",async function(){fieldValidationInit(e,r)})})}function addMultiChoiceBlurListener(e,t,r){t.querySelectorAll(".srfm-input-multi-choice-single").forEach(e=>{e.addEventListener("blur",async function(){fieldValidationInit(e,r)})})}function addEmailBlurListener(e,t){var r=e.querySelectorAll("input");let l=e.closest(t);r.forEach(s=>{s.addEventListener("input",async function(){s.value=s.value.trim().toLowerCase();let e=!1;/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(s.value)&&(e=!0);var t=s.classList.contains("srfm-input-email-confirm")?l.querySelector(".srfm-email-confirm-block"):l.querySelector(".srfm-email-block"),r=t.querySelector(".srfm-error-message");if(s.value||(r.style.display="none",t.classList.remove("srfm-valid-email-error")),s.classList.contains("srfm-input-email-confirm")){var o=l.querySelector(".srfm-input-email"),i=l.querySelector(".srfm-email-confirm-block").querySelector(".srfm-error-message");if(o.value!==s.value)return i.style.display="block",i.textContent=window?.srfm_submit?.messages?.srfm_confirm_email_same,void window?.srfm?.toggleErrorState(l,!0);window?.srfm?.toggleErrorState(l,!1),i.textContent="",i.style.display="none"}""===s?.value||e?(r.style.display="none",t.parentElement.classList.remove("srfm-valid-email-error"),r.removeAttribute("id")):(t.parentElement.classList.add("srfm-valid-email-error"),r.style.display="block",r.innerHTML=window?.srfm_submit?.messages?.srfm_valid_email,r.id=r.getAttribute("data-srfm-id"))})})}function addSliderBlurListener(e,t,r){let o=t.querySelector(".srfm-input-slider");t=t.querySelector(".srfm-text-slider");if(o&&o.addEventListener("blur",async function(){fieldValidationInit(o,r)}),t){let e=t.querySelector(".srfm-slider-thumb");e&&e.addEventListener("blur",async function(){fieldValidationInit(e,r)})}}let fieldValidationInit=async(e,t)=>{e=e.closest(t),t=e.closest("form");await fieldValidation(t.getAttribute("form-id"),t.getAttribute("ajaxurl"),t.getAttribute("data-nonce"),e,!0)},handleScrollAndFocusOnError=e=>{var t,r;e?.firstErrorInput&&(e?.scrollElement&&(t=e.scrollElement.getBoundingClientRect().top,r=window.pageYOffset,window.scroll({top:t+r-window.innerHeight/2,behavior:"smooth"})),e?.shouldDelayOnFocus?setTimeout(()=>{e.firstErrorInput.focus({preventScroll:!0})},500):e.firstErrorInput.focus({preventScroll:!0}))},handleCaptchaValidation=(e,t,r,o)=>{if(!(e||t||r||o))return!0;let i;"v2-checkbox"===e?i=grecaptcha.getResponse():t?i=hcaptcha.getResponse():r&&(i=turnstile.getResponse());e=0<i.length;return o.style.display=e?"none":"block",e};export{fieldValidation,initializeInlineFieldValidation,handleScrollAndFocusOnError,handleCaptchaValidation};