(()=>{const e=".cardToken";function n(){return!1}function t(){return!0}function o(e){return e?e.querySelector(".wc_payment_methods"):null}function r(e,n){return n?n.querySelector(`.payment_method_mollie_wc_gateway_${e}`):null}function c(e){return e?e.querySelector("#mollie-notice"):null}function a(e){return e?e.querySelector(".mollie-components"):null}function i(e,n){const t=u(o(document)).parentNode||null,r=c(document),a=function({content:e,type:n}){return`\n      <div id="mollie-notice" class="woocommerce-${n}">\n        ${e}\n      </div>\n    `}(n);r&&r.remove(),t?(t.insertAdjacentHTML("beforebegin",a),function(e){var n=c(document);n||(n=o(document)),e.scroll_to_notices(e(n))}(e)):alert(n.content)}function u(e){return e?e.closest("form"):null}function l(e){e.off("checkout_place_order",n),e.off("submit",s)}async function s(n){let t="";const{jQuery:o,mollie:c,gateway:a,gatewayContainer:s,messages:m}=n.data,d=o(u(s)),f=o(document.body);if(!function(e){const n=r(e,document),t=n?n.querySelector(`#payment_method_mollie_wc_gateway_${e}`):null;return t&&t.checked||!1}(a))return l(d),void d.submit();n.preventDefault(),n.stopImmediatePropagation();try{t=await async function(n){const{token:t,error:o}=await n.createToken(e);if(o)throw new Error(o.message||"");return t}(c)}catch(e){const n=({message=m.defaultErrorMessage}=e);return n&&i(o,{content:n,type:"error"}),d.removeClass("processing").unblock(),void f.trigger("checkout_error")}l(d),t&&function(e,n){n&&(n.value=e,n.setAttribute("value",e))}(t,s.querySelector(e)),d.submit()}function m(e,t,{options:o,merchantProfileId:c,componentsSettings:i,componentsAttributes:m,enabledGateways:d,messages:f},y){!function(e){e.forEach(e=>e.unmount())}(y),d.forEach(o=>{const c=r(o,document),d=a(c),p=u(c),g=e(p);var b;c?p?(l(g),(b=d)&&(b.innerText=""),function(e){e.insertAdjacentHTML("beforeend",'<input type="hidden" name="cardToken" class="cardToken" value="" />')}(d),function(e,n,t,o,r){t.forEach(t=>function(e,n,t,o,r){const{name:c}=t,i=function(e,n,t,o){let r;return o.has(e)&&(r=o.get(e)),r||(r=n.createComponent(e,t)),r}(c,e,n,o);a(r).insertAdjacentHTML("beforeend",`<div id="${c}"></div>`),i.mount(`#${c}`);const u=(l=c,(s=r)?s.querySelector(`.mollie-component--${l}`):null);var l,s;if(!u)return void console.warn(`Component ${c} not found in the DOM. Probably had problem during mount.`);!function(e,{label:n}){e.insertAdjacentHTML("beforebegin",`<b class="mollie-component-label">${n}</b>`)}(u,t),function(e,{name:n}){e.insertAdjacentHTML("afterend",`<div role="alert" id="${n}-errors"></div>`)}(u,t);let m=document.querySelector("#"+c+"-errors");i.addEventListener("change",e=>{e.error&&e.touched?m.textContent=e.error:m.textContent=""}),!o.has(c)&&o.set(c,i)}(e,n,t,o,r))}(t,i[o],m,y,c),g.on("checkout_place_order",n),g.on("submit",null,{jQuery:e,mollie:t,gateway:o,gatewayContainer:c,messages:f},s),setTimeout(function(){submitButton=e(".wc-block-components-checkout-place-order-button"),e(submitButton).click({jQuery:e,mollie:t,gateway:o,gatewayContainer:c,messages:f},s)},500)):console.warn("Cannot initialize Mollie Components, no form found."):console.warn(`Cannot initialize Mollie Components for gateway ${o}.`)})}!function({_:e,Mollie:n,mollieComponentsSettings:o,jQuery:c}){if(e.isEmpty(o)||!e.isFunction(n))return;let a="updated_checkout";const i=new Map,u=c(document),{merchantProfileId:l,options:s,isCheckoutPayPage:d}=o,f=new n(l,s);if(d)return a="payment_method_selected",void u.on(a,()=>m(c,f,o,i));function y(){return function(){let n=JSON.parse(JSON.stringify(o));o.enabledGateways.forEach(function(e,o){r(e,document)||(n.enabledGateways.splice(o,1),c('form[name="checkout"]').on("checkout_place_order",t))}),e.isEmpty(n.enabledGateways)||m(c,f,n,i)}}u.on(a,y()),u.on("update_checkout",y())}(window)})();