(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||r(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,i(n.key),n)}}function i(e){var r=function(e,r){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,r||"default");if("object"!=t(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==t(r)?r:r+""}var o=new(function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.foundForms=[],this.params=null,this.observing=!1,this.darkElement=null,this.darkClass=null,this.callback=this.callback.bind(this),this.validate=this.validate.bind(this)},n=[{key:"generateID",value:function(){var t=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};return t()+"-"+t()+"-"+t()+"-"+t()}},{key:"getFoundFormById",value:function(t){var e;return null!==(e=this.foundForms.filter((function(e){return t===e.hCaptchaId}))[0])&&void 0!==e?e:null}},{key:"getWidgetId",value:function(t){var e,r,n;if(void 0===t)return"";var a=null!==(e=null===(r=t.closest(this.formSelector))||void 0===r||null===(r=r.dataset)||void 0===r?void 0:r.hCaptchaId)&&void 0!==e?e:"";if(!a)return"";var i=this.getFoundFormById(a);return null!==(n=null==i?void 0:i.widgetId)&&void 0!==n?n:""}},{key:"reset",value:function(t){var e=this.getWidgetId(t);e&&hcaptcha.reset(e)}},{key:"isSameOrDescendant",value:function(t,e){for(var r=e;r;){if(r===t)return!0;r=r.parentElement}return!1}},{key:"validate",value:function(t){var e=t.currentTarget.closest(this.formSelector),r=this.getFoundFormById(e.dataset.hCaptchaId),n=r.submitButtonElement,a=r.widgetId;if(this.isSameOrDescendant(n,t.target)&&(t.preventDefault(),t.stopPropagation(),this.currentForm={formElement:e,submitButtonElement:n},a)){var i=e.querySelector(this.responseSelector),o=i?i.value:"";""===o?hcaptcha.execute(a):this.callback(o)}}},{key:"isValidated",value:function(){return void 0!==this.currentForm}},{key:"getForms",value:function(){return e(document.querySelectorAll(this.formSelector))}},{key:"getParams",value:function(){if(null!==this.params)return this.params;var t;try{var e,r;t=JSON.parse(wp.hooks.applyFilters("hcaptcha.params",null!==(e=null===(r=window)||void 0===r||null===(r=r.HCaptchaMainObject)||void 0===r?void 0:r.params)&&void 0!==e?e:""))}catch(e){t={}}return t.callback=this.callback,t}},{key:"setParams",value:function(t){this.params=t}},{key:"setDarkData",value:function(){var t={"twenty-twenty-one":{darkStyleId:"twenty-twenty-one-style-css",darkElement:document.body,darkClass:"is-dark-theme"},"wp-dark-mode":{darkStyleId:"wp-dark-mode-frontend-css",darkElement:document.documentElement,darkClass:"wp-dark-mode-active"},"droit-dark-mode":{darkStyleId:"dtdr-public-inline-css",darkElement:document.documentElement,darkClass:"drdt-dark-mode"}};t=wp.hooks.applyFilters("hcaptcha.darkData",t);for(var e=0,r=Object.values(t);e<r.length;e++){var n=r[e];if(document.getElementById(n.darkStyleId))return this.darkElement=n.darkElement,void(this.darkClass=n.darkClass)}}},{key:"observeDarkMode",value:function(){var t=this;this.observing||(this.observing=!0,"auto"!==this.getParams().theme)||(this.setDarkData(),this.darkElement&&this.darkClass&&new MutationObserver((function(e){var n,a=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=r(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,i=function(){};return{s:i,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){s=!0,o=t},f:function(){try{u||null==n.return||n.return()}finally{if(s)throw o}}}}(e);try{var i=function(){var e=n.value.oldValue,r=t.darkElement.getAttribute("class");e=e?e.split(" "):[],(r=r?r.split(" "):[]).filter((function(t){return!e.includes(t)})).concat(e.filter((function(t){return!r.includes(t)}))).includes(t.darkClass)&&t.bindEvents()};for(a.s();!(n=a.n()).done;)i()}catch(t){a.e(t)}finally{a.f()}})).observe(this.darkElement,{attributes:!0,attributeOldValue:!0}))}},{key:"getWidgetByToken",value:function(t){var r=e(document.querySelectorAll(this.responseSelector)).find((function(e){return e.value===t}));return r?r.closest(".h-captcha"):null}},{key:"callback",value:function(t){document.dispatchEvent(new CustomEvent("hCaptchaSubmitted",{detail:{token:t}}));var e=this.getParams(),r=this.getWidgetByToken(t),n=r?r.dataset.force:null;("invisible"===e.size||"true"===n&&this.isValidated())&&this.submit()}},{key:"applyAutoTheme",value:function(t){if("auto"!==t.theme)return t;if(t.theme="light",!this.darkElement)return t;var e=this.darkElement.getAttribute("class");return(e=e||"").includes(this.darkClass)&&(t.theme="dark"),t}},{key:"render",value:function(t){this.observeDarkMode();var e=this.applyAutoTheme(this.getParams());return hcaptcha.render(t,e)}},{key:"bindEvents",value:function(){var t=this;"undefined"!=typeof hcaptcha&&(this.formSelector=wp.hooks.applyFilters("hcaptcha.formSelector","form, section.cwginstock-subscribe-form, div.sdm_download_item, .gform_editor, #nf-builder, .wpforms-captcha-preview"),this.submitButtonSelector=wp.hooks.applyFilters("hcaptcha.submitButtonSelector",'*[type="submit"]:not(.quform-default-submit), #check_config, button[type="button"].ff-btn, a.et_pb_newsletter_button.et_pb_button, .forminator-button-submit, .frm_button_submit, a.sdm_download, .uagb-forms-main-submit-button'),this.responseSelector='textarea[name="h-captcha-response"]',this.getForms().map((function(e){var r=e.querySelector(".h-captcha");if(null===r)return e;if(r.classList.contains("hcaptcha-widget-id"))return e;r.innerHTML="";var n=t.generateID(),a=e.querySelectorAll(t.submitButtonSelector)[0],i=t.render(r);return e.dataset.hCaptchaId=n,t.foundForms.push({hCaptchaId:n,submitButtonElement:a,widgetId:i}),"invisible"!==r.dataset.size&&"true"!==r.dataset.force?e:a?(a.addEventListener("click",t.validate,!0),e):e}),this))}},{key:"isAjaxSubmitButton",value:function(t){var e=t.getAttribute("type"),r="submit"!==(e=e?e.toLowerCase():"");return wp.hooks.applyFilters("hcaptcha.ajaxSubmitButton",r,t)}},{key:"submit",value:function(){var t=this.currentForm.formElement,e=this.currentForm.submitButtonElement;if("form"!==t.tagName.toLowerCase()||this.isAjaxSubmitButton(e))return e.removeEventListener("click",this.validate,!0),void e.click();t.requestSubmit?t.requestSubmit(e):t.submit()}}],n&&a(t.prototype,n),i&&a(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,i}());window.hCaptcha=o,window.hCaptchaGetWidgetId=function(t){o.getWidgetId(t)},window.hCaptchaReset=function(t){o.reset(t)},window.hCaptchaBindEvents=function(){o.bindEvents()},window.hCaptchaSubmit=function(){o.submit()},window.hCaptchaOnLoad=function(){function t(){window.hCaptchaBindEvents(),document.dispatchEvent(new CustomEvent("hCaptchaLoaded"))}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",t):t()}})();