1var m=Object.defineProperty;var p=(c,e,t)=>e in c?m(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var n=(c,e,t)=>p(c,typeof e!="symbol"?e+"":e,t);import{p as u}from"./checkout-form-BtjxKdr2.js";import"./main-scipts-ByAP7cHW.js";import"./focus-trap.esm-CPw4bcQR.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./utm-params-BsWlNo0G.js";class M{constructor(e,t){n(this,"element");n(this,"form");n(this,"billectaContainer");n(this,"bankAccountsContainer");n(this,"bankAccountInput");n(this,"signTokenHolder");n(this,"orderReview");n(this,"placeOrder");n(this,"abortController",new AbortController);n(this,"referenceToken",null);n(this,"submitButton");n(this,"errorMessage");n(this,"isMobile");n(this,"autoStartToken",null);n(this,"bankIdActive",!1);n(this,"isSigning",!1);n(this,"isPaymentTestMode",!1);n(this,"signPollTimer",null);n(this,"signPollGeneration",0);n(this,"activeClient",null);n(this,"accountIframeId");n(this,"billectaModal");n(this,"billectaModalId");n(this,"billectaModalContainer");n(this,"billectaModalLoading");n(this,"isRetrievalModalClosingAfterSuccess",!1);n(this,"canAutoOpenOnActivate",!0);n(this,"isStartingRetrieval",!1);n(this,"selectedAccountData",null);var i,s;this.element=e,this.form=t,this.billectaContainer=this.form.querySelector(".js-billecta-container"),this.orderReview=this.element.querySelector("#order_review"),this.bankAccountsContainer=this.element.querySelector(".js-bank-accounts"),this.bankAccountInput=this.element.querySelector(".js-billecta-bank-account"),this.signTokenHolder=this.ensureSignTokenHolder(),this.placeOrder=this.element.querySelector(".place-order"),this.submitButton=this.placeOrder.querySelector('button[type="submit"]'),this.errorMessage=this.element.querySelector(".js-billecta-error-message"),this.isMobile=!!navigator.userAgent.match(/(iPhone|iPod|iPad|Windows Phone|Android)/),this.isPaymentTestMode=this.form.closest(".is-payment-test-mode")!==null,this.accountIframeId=`js-billecta-iframe-${this.getCheckoutFormId()}`,this.billectaModal=document.querySelector("#billecta-payment-gateway-dialog"),this.billectaModalId=String(((i=this.billectaModal)==null?void 0:i.getAttribute("id"))||""),this.billectaModalContainer=document.querySelector("#billecta-checkout-gateway-container"),this.billectaModalLoading=(s=this.billectaModal)==null?void 0:s.querySelector(".js-modal-loading"),this.bindUIActions()}appendCheckoutFormId(e){const t=this.getCheckoutFormId();t&&e.set("checkout_form_id",t)}ensureSignTokenHolder(){let e=this.form.querySelector('input[data-billecta-sign-token-holder="true"]');return e||(e=document.createElement("input"),e.type="hidden",e.name="billecta_sign_token_holder",e.dataset.billectaSignTokenHolder="true",this.form.appendChild(e)),e}setSignToken(e){this.form.querySelectorAll('input[name="billecta_sign_token_holder"]').forEach(t=>{t instanceof HTMLInputElement&&(t.value=e)}),this.signTokenHolder.value=e}bindUIActions(){var t;window.addEventListener("focus",()=>{this.referenceToken&&this.signRequestStatus()}),this.form.addEventListener("wwfOrderError",()=>this.resetForm()),(t=this.getPlaceOrderTermsCheckbox())==null||t.addEventListener("click",i=>{const s=i.target;this.submitButton.disabled=!s.checked}),this.form.addEventListener("checkout:step:activated",i=>{var a;const o=(a=i.detail)==null?void 0:a.step;!(o instanceof HTMLFieldSetElement)||!o.contains(this.element)||this.handlePaymentStepActivated()}),this.form.addEventListener("checkout:step:deactivated",i=>{var a;const o=(a=i.detail)==null?void 0:a.step;!(o instanceof HTMLFieldSetElement)||!o.contains(this.element)||this.bankAccountInput.value||(this.canAutoOpenOnActivate=!0,this.renderEmptyState())}),this.element.closest("fieldset.active-step")instanceof HTMLFieldSetElement&&this.handlePaymentStepActivated()}async createAbandonedOrder(){const e=new FormData;e.set("action","collect_user_details");let t=this.form.querySelector('[data-component-name="price"] input:checked');t.value==="custom_price"&&(t=this.form.querySelector('[data-component-name="price"] input[type="number"]'));const i=this.form.querySelector('input[name="checkout_form_id"]');e.set("checkoutFormId",i.value),e.set("amount",t.value),e.set("pin",this.form.querySelector("#pno").value),e.set("firstName",this.form.querySelector("#billing_first_name").value),e.set("lastName",this.form.querySelector("#billing_last_name").value),e.set("address",this.form.querySelector("#billing_address_1").value),e.set("zip",this.form.querySelector("#billing_postcode").value),e.set("city",this.form.querySelector("#billing_city").value),e.set("phone",this.form.querySelector("#billing_phone").value),e.set("email",this.form.querySelector("#billing_email").value),e.set("path",window.location.pathname),e.set("userAgent",navigator.userAgent);const s=this.form.querySelector(".js-prize-select");s&&e.set("prize",s.value);const o=this.form.querySelector('[name="payment_method"]:checked');o instanceof HTMLInputElement&&e.set("paymentMethod",o.value),fetch(window.theme.ajaxurl,{method:"POST",body:e})}async startSignRequest(){if(this.isSigning||(u("checkout_form_interaction",{action:"autogiro_sign"},this.form),this.submitButton.type==="submit"))return;this.isSigning=!0,this.showOverlay(`${this.loaderIcon()}<h4 class="mt-4 text-center">Signera med BankID</h4><p class="my-4 text-center">Förbereder signeringen...</p>${this.getBackButtonMarkup()}`);const{userAgent:e}=navigator,t=e.match(/(iPhone|iPod|iPad|Windows Phone|Android)/),i=e.indexOf("Instagram")>-1,s=this.form.querySelector(".js-choose-product-select");let o=this.form.querySelector('[data-component-name="price"] input:checked');o instanceof HTMLInputElement&&o.value==="custom_price"&&(o=this.form.querySelector('[data-component-name="price"] input[type="number"]')),o
1instanceof HTMLInputElement||(o=this.form.querySelector('[data-component-name="price-monthly-yearly"] input.js-amount'));const a=new FormData,r=this.getExportType()==="Fadderskap"?`Härmed signerar jag för att bli ${(s==null?void 0:s.value)||"fadder"} hos WWF Sverige. Jag godkänner att betala det valda beloppet ${o instanceof HTMLInputElement?`${o.value} kr/mÃ¥n`:""} via autogiro.`:"Härmed signerar jag medlemskap för Pandaklubben i WWF Sverige.";a.set("bankidMessage",r);const d=this.form.querySelector("#pno");d!=null&&d.value&&a.set("pno",d.value),this.appendCheckoutFormId(a),this.isPaymentTestMode&&this.setLoadingState("Testläge: signering slutförs automatiskt (vanligtvis inom cirka 10 sekunder).","Väntar pÃ¥ signering",!1),this.resetErrorMessage();try{const l=await(await fetch(`${window.location.origin}/wc-api/billecta_sign_request`,{method:"POST",body:a,signal:this.abortController.signal})).json();"referenceToken"in l&&(this.referenceToken=l.referenceToken),this.signRequestStatus(),!this.isPaymentTestMode&&"qrCode"in l&&!this.isMobile&&this.setLoadingState(`<img src="${l.qrCode}" class="qr-code-img" /><p class="mt-0 mb-4 text-center">Ãppna BankID-appen och scanna QR-koden</p>`,"Scanna QR-koden"),!this.isPaymentTestMode&&"autoStartToken"in l&&t&&!this.bankIdActive&&(this.bankIdActive=!0,this.setLoadingState('<p class="mt-0 mb-4 text-center">Ãppna BankID-appen och slutför signeringen</p>',"Slutför signering"),i?window.location.href=`https://app.bankid.com?autostarttoken=${l.autoStartToken}&redirect=null`:window.location.href=`bankid:///?autostarttoken=${l.autoStartToken}&redirect=null`)}catch(h){console.log(h),this.resetForm()}}async signRequestStatus(){const e=this.signPollGeneration,{userAgent:t}=navigator,i=t.match(/(iPhone|iPod|iPad|Windows Phone|Android)/),s=t.indexOf("Instagram")>-1;if(!this.referenceToken)return;const o=new FormData;o.set("reference_token",String(this.referenceToken)),this.appendCheckoutFormId(o);let a;try{a=await(await fetch(`${window.location.origin}/wc-api/billecta_sign_request_status`,{method:"POST",body:o,signal:this.abortController.signal})).json()}catch(r){if(e!==this.signPollGeneration||!this.referenceToken||r instanceof DOMException&&r.name==="AbortError")return;this.scheduleSignPoll();return}if(!(e!==this.signPollGeneration||!this.referenceToken)){if(a.status==="Error"){if(this.isPaymentTestMode){this.scheduleSignPoll();return}this.stopSignPolling(),this.setErrorMessage("Det gick inte att slutföra signeringen, försök igen."),this.referenceToken=null,this.resetForm();return}if((a.status==="Waiting"||a.status==="Started")&&this.scheduleSignPoll(),!this.isPaymentTestMode&&"qrCode"in a&&!this.isMobile&&this.setLoadingState(`<img src="${a.qrCode}" class="qr-code-img" /><p class="mt-0 mb-4 text-center">Ãppna BankID-appen och scanna QR-koden</p>`,"Scanna QR-koden"),!this.isPaymentTestMode&&"autoStartToken"in a&&i&&!this.bankIdActive&&(this.bankIdActive=!0,s?window.location.href=`https://app.bankid.com?autostarttoken=${a.autoStartToken}&redirect=null`:window.location.href=`bankid:///?autostarttoken=${a.autoStartToken}&redirect=null`),a.status==="Complete"){this.stopSignPolling();const r=this.referenceToken;r&&this.setSignToken(r),this.referenceToken=null;const d=this.getExportType()==="Fadderskap"?"Du är nu fadder!":"Ditt medlemskap i Pandaklubben är nu färdigbehandlat!";this.setLoadingState("Vi skickar dig vidare till Tack-sidan",d,!1),this.submitButton.type="submit",this.submitButton.onclick=null,this.submitButton.click()}}}resetForm(){if(this.stopSignPolling(),this.stopActiveClient(),this.autoStartToken=null,this.bankIdActive=!1,this.isSigning=!1,this.referenceToken=null,this.billectaContainer.innerHTML="",this.billectaContainer.classList.add("d-none"),this.billectaContainer.classList.remove("d-flex"),this.orderReview.classList.remove("d-none"),this.submitButton.type="button",this.abortController.abort(),this.abortController=new AbortController,this.bankAccountInput.value){this.restoreSelectedAccountView();return}this.restoreInitialView()}async startAccountRetrieval(){if(this.isStartingRetrieval)return;if(!this.form.querySelector("#pno").value){this.renderRetryState("Fyll i ditt personnummer innan du fortsätter.");return}this.isStartingRetrieval=!0,this.stopActiveClient(),this.resetErrorMessage(),this.renderLoadingState(),this.openRetrievalModal(),this.enableModalLoadingState("Förbereder kontohämtning...");try{const t=await this.initiateRetrieval();if(await this.loadBillectaClient(),!window.Billecta)throw new Error("Billecta client is unavailable");this.disableModalLoadingState(),this.showRetrievalModalContent(),this.activeClient=new window.Billecta(t.sessionToken,t.sessionId,{baseUrl:t.baseUrl}),this.activeClient.start({selector:`#${this.accountIframeId}`,onSuccessful:i=>this.handleRetrievalSuccess(i),onAborted:i=>this.handleRetrievalAbort(i),onFailed:i=>this.handleRetrievalFailure(i),width:"100%",height:"600px",colorTheme:"grayscale"})}catch(t){console.log(t),this.renderRetryState("Det gick inte att starta kontohämtningen, försök igen."),this.closeRetrievalModal()}}bankIdIcon(){return`<svg base-profile="tiny" xmlns="http://www.w3.org/2000/svg" view-box="0 0 150 150" style="margin-bottom: 40px; width: 150px; height: 150px;"> 2 <path fill="#F2F2F2" d="M147.1 150v-45.6c.3.2.6.3 1 .3 1.1 0 2-.9 2-2V59c0-1.1-.9-2-2-2-.4 0-.7.1-1 .3V19.5c0-10.8-8.8-19.5-19.5-19.5H22.5C11.7 0 2.9 8.8 2.9 19.5v14.2c-.3-.2-.6-.3-1-.3-1.1 0-2 .9-2 2v11.3c0 1.1.9 2 2 2 .4 0 .7-.1 1-.3v12.7c-.3-.2-.6-.3-1-.3-1.1 0-2 .9-2 2v17.8c0 1.1.9 2 2 2 .4 0 .7-.1 1-.3v5.1c-.3-.2-.6-.3-1-.3-1.1 0-2 .9-2 2v17.8c0 1.1.9 2 2 2 .4 0 .7-.1 1-.3V150h144.2z"></path> 3 <path fill="#FFF" d="M143.3 150V18.9c0-8-6.5-14.5-14.5-14.5h-9c-3 0-5 .4-5.8 1.2-1 1-1.8 2.2-2.6 3.4-2.2 3.6-4.8 7.6-14.9 7.6H53.6c-10.1 0-12.7-4-14.9-7.6-.8-1.3-1.6-2.5-2.6-3.4-.8-.8-2.8-1.2-5.8-1.2h-9c-8 0-14.5 6.5-14.5 14.5V150h136.5z"></path> 4 <g fill="#CDCCCC"> 5 <path d="M94 8.8c0-1.7-1.3-3-3-3s-3 1.3-3 3 1.3 3 3 3 3-1.4 3-3zM58.6 8.8c0-.8-.6-1.4-1.4-1.4s-1.3.6-1.3 1.4c0 .8.6 1.4 1.4 1.4s1.3-.7 1.3-1.4zM84.1 9.3c.3 0 .5-.2.5-.5s-.2-.5-.5-.5H65.3c-.3 0-.5.2-.5.5s.2.5.5.5h18.8z"></path> 6 <path d="M148 57c-.4 0-.7.1-1 .3V19.5C147 8.7 138.2 0 127.5 0h-105C11.7 0 2.9 8.8 2.9 19.5v14.2c-.3-.2-.6-.3-1-.3-1.1 0-2 .9-2 2v11.3c0 1.1.9 2 2 2 .4 0 .7-.1 1-.3v12.7c-.3-.2-.6-.3-1-.3-1.1 0-2 .9-2 2v17.8c0 1.1.9 2 2 2 .4 0 .7-.1 1-.3v5.1c-.3-.2-.6-.3-1-.3-1.1 0-2 .9-2 2v17.8c0 1.1.9 2 2 2 .4 0 .7-.1 1-.3V150h1V19.5C3.9 9.3 12.2 1 22.5 1h105.1c10.2 0 18.5 8.3 18.5 18.5V150h1v-45.6c.3.2.6.3 1 .3 1.1 0 2-.9 2-2V59c-.1-1.1-1-2-2.1-2zM2.9 106.8c0 .5-.4 1-1 1s-1-.4-1-1V89.1c0-.5.4-1 1-1s1 .4 1 1v17.7zm0-26.2c0 .5-.4 1-1 1s-1-.4-1-1V62.8c0-.5.4-1 1-1s1 .4 1 1v17.8zm0-33.9c0 .5-.4 1-1 1s-1-.4-1-1V35.4c0-.5.4-1 1-1s1 .4 1 1v11.3zm146.1 56c0 .5-.4 1-1 1-.5 0-1-.4-1-1V59c0-.5.4-1 1-1 .5 0 1 .4 1 1v43.7z"></path> 7 <path d="M128.8 4.4h-9c-3 0-5 .4-5.8 1.2-1 1-1.8 2.2-2.6 3.4-2.2 3.6-4.8 7.6-14.9 7.6H53.6c-10.1 0-12.7-4-14.9-7.6-.8-1.3-1.6-2.5-2.6-3.4-.8-.8-2.8-1.2-5.8-1.2h-9c-8 0-14.5 6.5-14.5 14.5V150h1V18.9c0-7.5 6.1-13.5 13.5-13.5h9c2.6 0 4.6.3 5.2.9.9.9 1.7 2 2.4 3.2 2.3 3.6 5.1 8 15.8 8h42.9c10.7 0 13.5-4.5 15.8-8 .8-1.2 1.5-2.4 2.4
7-3.2.6-.6 2.5-.9 5.2-.9h9c7.5 0 13.5 6.1 13.5 13.5V150h1V18.9c-.2-8-6.7-14.5-14.7-14.5z"></path> 8 </g> 9 <path fill="#469BBF" d="M65.3 82.7l2.2-13.9h-2.4c-1.1 0-2.5-.6-2.9-1.8-.1-.4-.5-1.7 1.4-3 .6-.5 1.1-1 1.2-1.3.1-.4 0-.8-.3-1-.4-.4-1.2-.6-2.2-.6-1.7 0-2.9 1-3 1.7-.1.5.3.9.7 1.2 1.1.8 1.3 1.9.6 3-.7 1.1-2.1 1.8-3.7 1.8h-2.4c-.2 1.4-3.5 22.2-3.8 23.8h13.1c.1-.7.7-4.7 1.5-9.9z"></path> 10 <path fill="#00A5C3" d="M82.8 56.6H69.5l-1.8 11.3H70c1.2 0 2.4-.6 2.9-1.4.2-.3.2-.5.2-.7 0-.5-.3-.8-.6-1.1-.9-.6-1.1-1.3-1.1-1.8v-.3c.2-1.2 1.8-2.5 3.9-2.5 1.3 0 2.2.3 2.8.8.5.5.7 1.2.6 1.9-.2.8-1 1.6-1.5 1.9-1.3.9-1.1 1.7-1 1.9.3.7 1.3 1.1 2.1 1.1h3.4c4.7 0 7.2 2.2 6.4 7.2-.7 4.7-4.3 6.7-8.6 6.7l-1.7 10.8h2.5c10.5 0 19.1-6.8 20.8-17.4 2.2-13.1-6.2-18.4-18.3-18.4"></path> 11 <path fill="#245A72" d="M82.8 56.6H69.5l-1.8 11.3H70c1.2 0 2.4-.6 2.9-1.4.2-.3.2-.5.2-.7 0-.5-.3-.8-.6-1.1-.9-.6-1.1-1.3-1.1-1.8v-.3c.2-1.2 1.8-2.5 3.9-2.5 1.3 0 2.2.3 2.8.8.5.5.7 1.2.6 1.9-.2.8-1 1.6-1.5 1.9-1.3.9-1.1 1.7-1 1.9.3.7 1.3 1.1 2.1 1.1h3.4c4.7 0 7.2 2.2 6.4 7.2-.7 4.7-4.3 6.7-8.6 6.7l-1.7 10.8h2.5c10.5 0 19.1-6.8 20.8-17.4 2.2-13.1-6.2-18.4-18.3-18.4M50 97.4h5.3c2.3 0 2.8 1.2 2.7 2.2-.1.9-.7 1.5-1.7 1.9 1.3.5 1.8 1.2 1.6 2.4-.2 1.5-1.5 2.6-3.2 2.6h-6.1l1.4-9.1zm3.6 3.8c1 0 1.5-.5 1.6-1.2.1-.7-.2-1.2-1.3-1.2H53l-.4 2.4h1zm-.6 3.9c1.1 0 1.7-.4 1.8-1.3.1-.8-.3-1.2-1.4-1.2h-1l-.4 2.6h1zM65.4 106.6c-1.4.1-2.1-.1-2.4-.7-.7.5-1.5.7-2.4.7-1.6 0-2.1-.8-2-1.7.1-.4.3-.9.7-1.2.9-.7 3-.9 3.8-1.4.1-.6-.2-.9-1-.9-.9 0-1.7.3-3 1.2l.3-2.1c1.1-.8 2.2-1.2 3.5-1.2 1.6 0 3.1.7 2.8 2.4l-.3 2c-.1.7-.1.9.7.9l-.7 2zm-2.4-3.1c-.7.5-2.1.4-2.3 1.4-.1.5.2.8.7.8.4 0 1-.2 1.4-.5v-.7l.2-1z"></path> 12 <g> 13 <path fill="#245A72" d="M68 99.5h2.8l-.1.9c.9-.7 1.6-1 2.4-1 1.6 0 2.3.9 2 2.5l-.7 4.7h-2.8l.6-3.9c.1-.7-.1-1-.6-1-.4 0-.8.2-1.2.8l-.6 4.1H67l1-7.1zM77.2 97.4H80l-.7 4.5 2.7-2.4h3.4l-3.4 3 2.7 4h-3.5l-2.1-3.2-.5 3.2h-2.8z"></path> 14 <path fill="#469BBF" d="M87.1 97.4h3.2l-1.4 9.1h-3.2zM91.8 97.4h4.6c3.5 0 4.5 2.6 4.2 4.7-.3 2.1-2 4.4-5.1 4.4h-5.1l1.4-9.1zm3 7c1.6 0 2.4-.8 2.7-2.4.2-1.2-.2-2.4-1.9-2.4h-.9l-.7 4.8h.8z"></path> 15 </g> 16 </svg>`}heartIcon(){return`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 17 <path d="M14.6877 1.31953C13.134 -0.43429 10.6112 -0.43429 9.05756 1.31953L8 2.5068L6.94243 1.31537C5.38493 -0.438456 2.866 -0.438456 1.31234 1.31537C-0.437447 3.28582 -0.437447 6.48519 1.31234 8.45564L8 16L14.6877 8.45981C16.4374 6.48936 16.4374 3.28998 14.6877 1.31953Z" fill="white"/> 18 </svg>`}loaderIcon(){return`<svg width="51" height="50" viewBox="0 0 51 50" fill="none" xmlns="http://www.w3.org/2000/svg" class="billecta-loader"> 19 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0103 4.47328C15.8828 1.92359 20.5212 0.440002 25.4999 0.440002C30.4787 0.440002 35.1171 1.92359 38.9896 4.47328L36.79 7.81418C33.5504 5.68124 29.6732 4.44 25.4999 4.44C21.3267 4.44 17.4495 5.68124 14.2099 7.81417L12.0103 4.47328ZM0.939941 25C0.939941 20.0212 2.42353 15.3829 4.97322 11.5103L8.31412 13.71C6.18117 16.9496 4.93994 20.8268 4.93994 25C4.93994 29.1732 6.18117 33.0505 8.31411 36.29L4.97322 38.4897C2.42353 34.6171 0.939941 29.9788 0.939941 25ZM46.0267 11.5103C48.5764 15.3829 50.0599 20.0212 50.0599 25C50.0599 29.9788 48.5764 34.6171 46.0267 38.4897L42.6858 36.29C44.8187 33.0505 46.0599 29.1732 46.0599 25C46.0599 20.8268 44.8187 16.9496 42.6858 13.71L46.0267 11.5103ZM25.4999 49.56C20.5212 49.56 15.8828 48.0764 12.0103 45.5267L14.2099 42.1858C17.4495 44.3188 21.3267 45.56 25.4999 45.56C29.6732 45.56 33.5504 44.3188 36.79 42.1858L38.9896 45.5267C35.1171 48.0764 30.4787 49.56 25.4999 49.56Z" fill="#E8510A"/> 20 </svg>`}setLoadingState(e,t,i=!0){this.showOverlay(`${this.loaderIcon()} 21 ${t?`<h4 class="mt-4 text-center">${t}</h4>`:""} 22 <p class="my-4 text-center">${e}</p> 23 ${i?this.getBackButtonMarkup():""}`)}showOverlay(e){var t;this.orderReview.classList.add("d-none"),this.billectaContainer.innerHTML=e,this.billectaContainer.classList.remove("d-none"),this.billectaContainer.classList.add("d-flex"),(t=this.billectaContainer.querySelector(".js-reset-form-button"))==null||t.addEventListener("click",()=>{this.resetForm()})}setErrorMessage(e){this.errorMessage.innerHTML=e,this.errorMessage.classList.remove("d-none"),this.errorMessage.classList.add("d-block")}resetErrorMessage(){this.errorMessage.innerHTML="",this.errorMessage.classList.remove("d-block"),this.errorMessage.classList.add("d-none")}scheduleSignPoll(){this.signPollTimer!==null&&clearTimeout(this.signPollTimer);const e=this.signPollGeneration;this.signPollTimer=setTimeout(()=>{this.signPollTimer=null,!(e!==this.signPollGeneration||!this.referenceToken)&&this.signRequestStatus()},2e3)}stopSignPolling(){this.signPollGeneration+=1,this.signPollTimer!==null&&(clearTimeout(this.signPollTimer),this.signPollTimer=null)}async initiateRetrieval(){const e=new FormData;this.isPaymentTestMode||e.set("pno",this.form.querySelector("#pno").value),this.appendCheckoutFormId(e);const t=await fetch(`${window.location.origin}/wc-api/billecta_initiate_retrieval`,{method:"POST",body:e,signal:this.abortController.signal}),i=await t.json();if(!t.ok||!i.sessionToken||!i.sessionId)throw new Error(i.message||"Failed to initiate account retrieval");return i}async loadBillectaClient(){if(window.Billecta)return;const e=document.querySelector('script[data-billecta-client="account-lookup"]');if(e){await new Promise((t,i)=>{e.addEventListener("load",()=>t(),{once:!0}),e.addEventListener("error",()=>i(new Error("Failed to load Billecta client")),{once:!0})});return}await new Promise((t,i)=>{const s=document.createElement("script");s.src="https://accountlookup.billecta.com/js/client.js",s.async=!0,s.dataset.billectaClient="account-lookup",s.addEventListener("load",()=>t(),{once:!0}),s.addEventListener("error",()=>i(new Error("Failed to load Billecta client")),{once:!0}),document.body.appendChild(s)})}async handlePaymentStepActivated(){if(this.getCurrentPaymentMethod()==="billecta_checkout_gateway"){if(this.bankAccountInput.value){this.restoreSelectedAccountView();return}if(!(!this.canAutoOpenOnActivate||this.isStartingRetrieval)){this.canAutoOpenOnActivate=!1;try{this.createAbandonedOrder(),await this.startAccountRetrieval()}catch(e){console.log(e),this.renderRetryState("Det gick inte att starta kontohämtningen. Försök igen.")}}}}getCurrentPaymentMethod(){const e=this.form.querySelector('input[name="payment_method"]:checked');return(e==null?void 0:e.value)||""}openRetrievalModal(){!this.billectaModalId||!window.MicroModal||(this.isRetrievalModalClosingAfterSuccess=!1,window.MicroModal.show(this.billectaModalId,{onClose:()=>this.handleRetrievalModalClose()}))}
23showRetrievalModalContent(){var e;this.billectaModalContainer.innerHTML=` 24 <div class="w-100"> 25 <div class="billecta-iframe-wrapper"> 26 <div id="${this.accountIframeId}" class="billecta-iframe-target"></div> 27 </div> 28 <div class="text-center mt-4"> 29 <button type="button" class="btn-text-only cursor-pointer js-close-billecta-modal">Gå tillbaka</button> 30 </div> 31 </div> 32 `,this.billectaModalContainer.classList.remove("d-none"),(e=this.billectaModalContainer.querySelector(".js-close-billecta-modal"))==null||e.addEventListener("click",()=>this.closeRetrievalModal())}handleRetrievalModalClose(){this.stopActiveClient(),this.disableModalLoadingState(),this.billectaModalContainer.innerHTML="",this.billectaModalContainer.classList.add("d-none"),this.isRetrievalModalClosingAfterSuccess||(this.selectedAccountData?this.restoreSelectedAccount():this.bankAccountInput.value||this.renderRetryState("Kontohämtningen avbröts innan något konto valdes.")),this.isRetrievalModalClosingAfterSuccess=!1,this.isStartingRetrieval=!1}closeRetrievalModal(){if(!this.billectaModalId||!window.MicroModal){this.handleRetrievalModalClose();return}window.MicroModal.close(this.billectaModalId)}enableModalLoadingState(e=""){var i,s;const t=(i=this.billectaModalLoading)==null?void 0:i.querySelector("span");t&&(t.innerText=e),(s=this.billectaModalLoading)==null||s.classList.remove("d-none"),this.billectaModalContainer.classList.add("d-none")}disableModalLoadingState(){var t,i;const e=(t=this.billectaModalLoading)==null?void 0:t.querySelector("span");e&&(e.innerText=""),(i=this.billectaModalLoading)==null||i.classList.add("d-none")}handleRetrievalSuccess(e){this.stopActiveClient(),this.autoStartToken=null,this.bankIdActive=!1,this.isSigning=!1,this.bankAccountInput.value=`${e.clearingNo},${e.accountNo}`,this.signTokenHolder.value="",this.referenceToken=null,this.selectedAccountData=e,this.renderSelectedAccount(e),this.restoreSelectedAccountView(),this.isRetrievalModalClosingAfterSuccess=!0,this.closeRetrievalModal()}handleRetrievalAbort(e){this.resetErrorMessage(),this.selectedAccountData?this.restoreSelectedAccount():this.renderRetryState(e.errorMessage||"Kontohämtningen avbröts."),this.closeRetrievalModal()}handleRetrievalFailure(e){this.resetErrorMessage(),this.selectedAccountData?this.restoreSelectedAccount():this.renderRetryState(e.errorMessage||"Det gick inte att hämta ditt konto, försök igen."),this.closeRetrievalModal()}renderSelectedAccount(e){var t;this.bankAccountsContainer.innerHTML=` 33 <div class="billecta-selected-account-wrapper text-left"> 34 <p class="h4 mb-2">Valt konto för autogiro</p> 35 <p class="billecta-selected-account-description mb-3"> 36 Detta konto kommer att användas för dina framtida autogirodragningar. Kontrollera att uppgifterna stämmer innan du går vidare till signering. 37 </p> 38 <div class="billecta-selected-account"> 39 <p class="billecta-selected-account__label mb-1">Bank</p> 40 <p class="billecta-selected-account__value mb-3">${e.bankName||e.bank}</p> 41 <p class="billecta-selected-account__label mb-1">Kontonummer</p> 42 <p class="billecta-selected-account__value mb-0">${e.clearingNo} ${e.accountNo}</p> 43 </div> 44 <button type="button" class="btn-text-only cursor-pointer mt-3 js-change-billecta-account">Byt konto</button> 45 </div> 46 `,(t=this.bankAccountsContainer.querySelector(".js-change-billecta-account"))==null||t.addEventListener("click",()=>{u("checkout_form_interaction",{action:"autogiro_change_account"},this.form),this.restartAccountRetrieval()})}restoreSelectedAccount(){this.selectedAccountData&&(this.bankAccountInput.value=`${this.selectedAccountData.clearingNo},${this.selectedAccountData.accountNo}`,this.renderSelectedAccount(this.selectedAccountData),this.restoreSelectedAccountView())}restoreSelectedAccountView(){this.isSigning=!1,this.bankIdActive=!1,this.placeOrder.classList.remove("d-none"),this.placeOrder.classList.add("d-flex"),this.submitButton.innerHTML=`${this.heartIcon()} <span>${this.getButtonText()}</span>`,this.submitButton.type="button",this.submitButton.classList.add("js-sign-billecta","
46sign-billecta"),this.submitButton.onclick=()=>{this.startSignRequest()};const e=this.getPlaceOrderTermsCheckbox();this.submitButton.disabled=e?!e.checked:!1}renderEmptyState(){this.bankAccountsContainer.innerHTML=""}renderLoadingState(){this.bankAccountsContainer.innerHTML=` 47 <div class="billecta-loading-state text-left"> 48 <p class="mb-0">BankID-flödet öppnas nu. När du har valt konto visas det här.</p> 49 </div> 50 `}renderRetryState(e){var t;this.bankAccountsContainer.innerHTML=` 51 <div class="billecta-retry-state text-left"> 52 <p class="h4 mb-2">Hämta konto för autogiro</p> 53 <p class="mb-3">${e}</p> 54 <button type="button" class="btn btn-primary btn-lg-wide js-restart-billecta-retrieval"> 55 Försök igen 56 </button> 57 </div> 58 `,(t=this.bankAccountsContainer.querySelector(".js-restart-billecta-retrieval"))==null||t.addEventListener("click",()=>void this.restartAccountRetrieval())}async restartAccountRetrieval(){try{this.createAbandonedOrder(),await this.startAccountRetrieval()}catch(e){console.log(e),this.renderRetryState("Det gick inte att starta kontohämtningen. Försök igen.")}}restoreInitialView(){this.isSigning=!1,this.bankIdActive=!1,this.placeOrder.classList.add("d-none"),this.placeOrder.classList.remove("d-flex"),this.submitButton.type="submit",this.submitButton.onclick=null,this.submitButton.classList.remove("js-sign-billecta","sign-billecta"),this.renderEmptyState()}clearAccountSelection(){this.stopActiveClient(),this.bankAccountInput.value="",this.setSignToken(""),this.referenceToken=null,this.selectedAccountData=null,this.restoreInitialView()}stopActiveClient(){if(this.activeClient){try{this.activeClient.stop()}catch(e){console.log(e)}this.activeClient=null}}getPlaceOrderTermsCheckbox(){return this.placeOrder.querySelector("input[name='terms']")}getCheckoutFormId(){const e=this.form.querySelector('input[name="checkout_form_id"]');return(e==null?void 0:e.value)||"default"}getBackButtonMarkup(){return'<button type="button" class="js-reset-form-button link-arrow">Gå tillbaka</button>'}getExportType(){const e=this.form.querySelector('input[name="export_type"]'),{value:t}=e;return t}getButtonText(){const e=this.getExportType();return["Fadderskap"].includes(e)?"Godkänn och bli fadder":"Godkänn medlemskap"}}export{M as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.